android jar包文件只编译不打包到apk中全流程

总结  收藏
0 / 2553

需求:动态加载 apk 插件化开发时,插件工程中依赖的 dl-libs.jar 包,只想它参与编译,而不用打包到 apk 中

build.gradle 依赖

image.png

解决步骤:

1:provided 表示对应的 jar 包只编译,不打包

provided files('libs/dl-lib.jar')

2:注释掉第一行 compile fileTree(dir: 'libs', include: ['*.jar']),不然还是会打包到 apk 中

----------------------------------例子 -------------------------------------:

a: 不注释掉 compile fileTree(dir: 'libs', include: ['*.jar']),我们查看 apk 打包后,class.dex 的文件信息,发现 jar 包还是打包到了 apk 中
b: 注释掉 compile fileTree(dir: 'libs', include: ['*.jar'])文件,发现打包的 apk 中,木有了 jar 的文件信息,只有一个参与引用的类

反编译小技巧: 如果仅仅是查看打包 apk 文件是否反编译或者包含的 Java 文件,直接拖动 apk 到 Android studio 中就可以了看到文件信息了。