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

发表于:2018-4-13 18:01  作者:吃不饱的水手   来源:简书

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: 流程 业务知识

  需求:动态加载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中就可以了看到文件信息了。


上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。

评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海瀛东律师事务所 张楠律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2018, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道