美文网首页Android开发Android开发经验谈Android技术知识
android jar包文件只编译不打包到apk中全流程

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

作者: 666swb | 来源:发表于2018-04-12 17:53 被阅读1029次

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

build.gradle依赖

dependencies {
//    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.google.code.gson:gson:2.8.0'
    provided files('libs/dl-lib.jar')
}

解决步骤:

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中
image.png
b: 注释掉compile fileTree(dir: 'libs', include: ['*.jar'])文件,发现打包的apk中,木有了jar的文件信息,只有一个参与引用的类
image.png
反编译小技巧: 如果仅仅是查看打包apk文件是否反编译或者包含的java文件,直接拖动apk到android studio中就可以了看到文件信息了。

相关文章

网友评论

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

    本文链接:https://www.haomeiwen.com/subject/pbjfkftx.html