添加 framework.jar,混淆失败(不混淆framework.jar)

Posted 夏至的稻穗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了添加 framework.jar,混淆失败(不混淆framework.jar)相关的知识,希望对你有一定的参考价值。

开发一些系统相关的类时,常常需要引入 framework.jar 去调用一些 hide 的类或 api,一般的做法就是在 libs 中加入该 jar 包,如:

如果你要调用,还需要在 project 的build.gradle 添加:

    gradle.projectsEvaluated 
        tasks.withType(JavaCompile) 
            //设置jar相对包路径或绝对路径
            options.compilerArgs.add('-Xbootclasspath/xx/libs/framework_androidgo.jar')
        
    

让studio 优先选择你的jar;

调试正常,但如果你使用混淆,就会提示 MAinApplication 都找不到,就算你在混淆文件添加规则,还会提示找不到。

其实是因为跟Android 本身冲突了,此时,在你的moudle的 build.gradle 不导入该库。
原本如下:

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

改成

//不要包含framework.jar包
implementation fileTree(dir: "libs", include: ["normal*.jar"])

即可

以上是关于添加 framework.jar,混淆失败(不混淆framework.jar)的主要内容,如果未能解决你的问题,请参考以下文章

拼接方法索引混淆

android 怎么实现只混淆自己的代码,而不混淆第3方jar包

android 混淆 不完整版

Android代码混淆之部分类不混淆的技巧

Android 代码混淆之部分类不混淆的技巧

使用 Proguard 混淆 ActionBarSherlock