开发中会遇到,引入一个jar包,只想编译的时候能通过,打包APK时不需要把该jar一起打包进去,因为可能在别的地方也有这个jar包,比如在插件开发过程中。宿主工程host里面使用了这个jar包,插件工程里面也需要用到这个jar包,而插件最终需要在宿主中使用,那么如果插件打包apk的时候把这个jar包打进去了,那么宿主运行插件apk的时候就会在内存中同时存在重复的类的情况,这样就会发生类链接错误。

所以在插件打包成apk的时候就去掉了相同的jar包。

在eclipse中取消jar打包:

只需要在插件工程中创建一个目录,比如external-jars,然后把dl-lib.jar和support-v4.jar放进去,同时在.classpath中追加如下两句即可:

<classpathentry kind="lib" path="external-jars/dl-lib.jar"/>
<classpathentry kind="lib" path="external-jars/android-support-v4.jar"/>

这样,编译的时候就能够正常进行,但是打包的时候,就不会把上面两个jar包打入到插件apk中。

在android studio中打包:

原文地址:http://blog.csdn.net/wangjia55/article/details/31750419

1. 在Android studio 下打开Prject Structure ,选中自己项目中的Module ,选择“Dependencies” 栏目,就可以看到项目中所有依赖的jar包。


2. 在jar包后面有一个Scope的选项,将默认的“Compile” 选择为 “Provided” 即可,


3.这个时候你会发现项目中的build.gradle 文件,也会变为:    provided files('libs/osgi1.6.9.jar')   。


注意:如果build.gradle 下面默认的编译jar包的指令没有注释的,请注释掉 (  compile fileTree(dir: 'libs', include: ['*.jar']))


上图:

Android开发中,取消打包某个jar包到APK中

相关文章:

  • 2021-06-22
  • 2021-04-22
  • 2022-01-08
  • 2022-12-23
  • 2021-12-15
  • 2021-10-11
  • 2021-08-09
猜你喜欢
  • 2021-09-16
  • 2022-12-23
  • 2021-11-14
  • 2021-07-15
  • 2021-12-14
  • 2021-08-12
相关资源
相似解决方案