导航:首页 > 操作系统 > androidclassesjar

androidclassesjar

发布时间:2023-02-15 07:03:08

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'
}

⑵ 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

⑶ Android Studio 3.5导入AOSP编译的classes.jar

一、适用场景

    我们在写应用时可能会需要调用系统隐藏的API,这些API是我们无法直接访问的,报如下错误:

 此时,我们需要将系统AOSP的out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar导入到Android Studio中,使app能够访问这些接口。

二、实现步骤

Step1 . 在app目录下建立libs文件夹,并将classes.jar包放入该路径

Step2 .在app目录上右键【Open Mole Settings】,点击左侧【Dependencies】,选择app,点击【+】选择【2 Jar Dependency】,添加

选择我们的libs/classes.jar,点击【OK】

Step3 .在Mole的build.gradle中,dependencies自动增加依赖配置,注释掉下面一行

implementation fileTree(dir: 'libs', include: ['*.jar'])  

并将implementation files('libs/classes.jar')改为

compileOnly files('libs/classes.jar')

最终如下图所示

Step4 .修改Project的build.gradle,在allProjects中增加如下语句

    gradle.projectsEvaluated {

        tasks.withType(JavaCompile) {

            options.compilerArgs.add('-Xbootclasspath/p:app\\libs\\classes.jar')

        }

    }

Step5 .修改jar包优先级,在Moels的app.iml文件中找到我们的classes.jar包所在行,

<orderEntry type="library" name="Gradle: __local_aars__:/Users/mrwong/AndroidStudioProjects/uart_daemon/app/libs/classes.jar:unspecified@jar" level="project" />

将其移动到

<orderEntry type="jdk" jdkName="Android API 29 Platform" jdkType="Android SDK" />

这一行之上,最终如下图所示:

至此,app可以优先访问我们自己的jar包 。

⑷ android APK中的classes.dex反编译成jar怎么无法运行。

Android 是 .apk 文件
网上有反编译的软件 可以反编译成源代码,你可以去网上找找,我用的是 jd-gui-0.3.3
但是,一般来说 程序员在 开发完成后都会混淆打包,即使是反编译出来,也会有很多 abcdefg,,,, 表示的乱码
有的软件 没混淆 就可以得到源码,但是这样的软件 一般都能在网上找到开源的相关的代码
祝你成功 !

阅读全文

与androidclassesjar相关的资料

热点内容
centos开机命令行模式 浏览:695
遍历所有listpython 浏览:660
力控加密文件夹 浏览:515
如何更改移动服务器密码 浏览:686
苹果8p手机加密 浏览:749
ipad建文件夹怎么弄 浏览:833
iphone13对wap3加密 浏览:555
pdf文件打开失败 浏览:913
dubbo怎么调用不同服务器接口 浏览:40
全能解压王app历史版本 浏览:75
优先队列与拓扑排序算法 浏览:281
pdf转换formacbook 浏览:871
pdf文件内容怎么编辑 浏览:48
134压缩机排气温度多少 浏览:256
unity等待编译后 浏览:806
黑鲨手机锁屏视频在哪个文件夹 浏览:781
wow地图解压后怎么压缩 浏览:823
有pdf却打不开 浏览:460
七星彩软件app怎么下载 浏览:217
32单片机的重映射哪里改 浏览:816