android studio 将包含jar包的项目打包成jar包

时间:2021-08-18 13:14:12

今天遇到一个问题,我在将项目打包成jar(不知道如何将项目用as打包成jar包的看这里)应用到主工程的时候。主工程apk在真机运行的时候,报了一个错误:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: yucan.com.swipe.dismiss, PID: 19570
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/nineoldandroids/view/ViewHelper;

 

android studio 将包含jar包的项目打包成jar包

这就坑了,怎么会找不到class文件呢?

一查代码发现,这个class讲道理是在jar项目里面的一个jar包里面。怎么回报这个问题呢?

既然找不到,那我就在主工程也放入这个jar包吧。这样又会报文件重复的问题。

纠结啊!!!

查了一下发现可以这样解决:

在编写库工程的时候,将jar依赖关系设置成

provided

代码如下:
provided files('libs/nineoldandroids-2.4.0.jar')

如图:

android studio 将包含jar包的项目打包成jar包

然后,再打一个jar包(打包方法不知道的话,还是看这里
然后将这个jar包放入要应用的工程,同时将第三方的jar也放入主工程。
例如:

android studio 将包含jar包的项目打包成jar包


然后运行,就OK了