繁体   English   中英

Android应用程序依赖项ClassNotFoundException

[英]Android app dependencies ClassNotFoundException

我是Android开发的新手。 在普通的EE Java和Gradle中不是很新。

因此,我正在尝试为Android构建REST消费者应用程序。 我有一个需要的(1).jar文件(包含DTO和api使用者)。 那个(1).jar依赖于Nexus repo的其他(2)jar。 这些(2)确实依赖于Maven仓库中的其他(3)个jar(例如apache commons lang3等)。

有趣的是...该应用程序可以编译并正确安装。 但是在运行时,它偶尔会丢失(1)中的某些类(至少(1)-关于(2)和(3)尚不了解)。

我知道SO不喜欢图片问题,但在这种情况下,我认为图片=清晰。

见下文。 相同的运行时,相同的罐子。 除了其中一个类未加载,而紧挨着它的另一类可用。

类加载器看不到某些类

看到了一些

为什么会这样? 我做错了什么?

还有一件事...如果我尝试实例化主要活动(在onCreate()内)中缺少的类之一(有多个),有时该类会出现在类路径中并创建一个对象。 但是听起来很荒谬,但是其他课程却消失了! 感觉到Classloader可能处理的类的插槽数量有限。

编辑:好的,它会变得更好。 似乎出于某种原因gradle决定不将(1).jar中的某些文件包含到生成的.apk中。

摇篮4.1。 Linux Mint18。AndroidStudio 3.0金丝雀8

左-反编译的APK结构; 对-原罐 在此处输入图片说明

可能是您激活了ProGuard。 ProGuard从最终的.apk删除未使用的类。 ProGuard

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM