编译出现jar问题
㈠ Android 集成三方SDK编译时classes.jar文件冲突
这几天的任务是将mapbox的工程合到程序中去,但是合并过程却出现了问题
合并方法:在app的build.gradle中添加
dependencies {
compile ('com.mapbox.mapboxsdk:mapbox-android-sdk:0.7.4@aar'){
transitive=true
}
}
但是合并后会报错:
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2
这个错误是由于jar包冲突,解决方法如下:
方法一:找到冲突包,将冲突包删除,一般冲突包为'com.android.support:appcompat-v7:22.2.0'或者'com.android.support:support-v4:22.2.0',但是我删除冲突包后,依然报错,于是使用方法二
方法二:因为我的冲突包是'com.android.support:support-v4:22.2.0',所以找到项目根目录-build-intermediates-dex-cache-cache.xml文件,将其中跟v4有关的全部删除,然后clean project,然后将compile改为provided如下:
dependencies {
compile 'com.vividsolutions:jts:1.13'
compile 'com.squareup.okhttp:okhttp:2.4.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.4.0'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.jakewharton:disklrucache:2.0.2'
provided 'com.android.support:support-v4:21.0.0'
}
㈡ 引入jar包编译不存在
引入jar包编译不存在的解决方法为:
1、打开idea的Settings,进入BuildExecutionDeployment/BuildTools/Maven/Runner,将DelegateIDE勾上。
2、把maven的setting文件中的本地仓库地址注释掉。关闭idea,重新加载本地仓库文件。
3、直接在idea命令行输入:mvnidea:idea。
㈢ Android Studio 怎么添加使用第三方jar包及无法编译的问题解决方法
Android Studio中jar包放在libs目录下,jni编译的so库存放在libs目录下的armeabi目录中。导入步骤:1. 右键app目录,find path,即打开app目录。2. 在libs目录下新建文件夹,名字为 armeabi,注意名字不能改。3. 将jar复制到libs目录下。4.将.so库文件复制到armeabi目录下即可。
㈣ android系统编译jar包给app使用
最近在android O编译系统jar包给应用使用遇到了点问题,网上也没有找到解决方案,这里记录下。
编译方法参考网上博客就可以, android源码编译jar包
最终生成了javalib.jar,改名为 tvManager.jar即可。注意:如果没有指定LACAL_JACK_ENABLED选项,则默认是enabled,将会生成classes.jack文件,不会产生classes.jar包!
正常按照上面方案就可以编译出jar包,导入到AS里面就可以使用,下面说下我遇到的问题
遇到classes.jar.toc被依赖, 但是怎么编译都没有编译出来,网上也没有找到对应的方法,编译错误如下:
https://www.cnblogs.com/wangqiang9/p/9679466.html
https://stackoverflow.com/questions/43471694/how-to-generate-classes-dex-toc-files
㈤ Maven编译环境时报错,本地已经存在这个jar包,始终编译不 Missing artifact javax.jms:jms:jar:1.1
缺失了javax.jms:jms:jar:1.1 这个包
看看是不是中央maven库中也没有这个包。
这个是sun的包,涉版权问题,可能中央库已经把这个包移除了。
如果是这种情况,需要引入本地的这个包进去
