我已经研究了很多小时来寻找可能的解决方案,但无论我尝试什么,它都失败了。这是解释的情况:
我在 Android Studio 上有这个库项目,它生成app-debug.aar
文件。
然后我在实施项目中添加这个新模块,按照向导导入 .JAR/.AAR,我选择.aar
并更新依赖关系:app
在项目结构中。
一旦项目被清理(即使使用./gradlew clean
--Mac OS X)我可以在任何活动中引用此类及其方法。
现在在运行时,一旦在真实设备上构建并安装,应用程序将崩溃并抛出上述运行时异常。
注意:我正在导入.aar
因为我需要保护代码并且它有资源所以.jar
是不可能的。如果我导入库模块(使用源和全部而不是.aar
)那么应用程序在运行时没有问题。
我已经尝试了一切,如果有人能解释一下这可能是什么,我将不胜感激。
班级延伸ViewGroup
并在运行时实例化,以防暗示任何情况。该代码是给我的,因此除非绝对必要,否则可能无法进行重大更改。
先谢谢大家了!
Armando
对于那些仍在寻找解决方案的人来说,以下两个选项对我来说可以解决与OP提到的完全相同的问题。
在目标模块中也包含(有问题的)库依赖项,即在我的情况下,我将 protobuf-lite 作为对我的库模块的依赖项包含在内,但得到noclassdefFound
lib 导入时出错.aar
在应用程序模块中。作为解决方法,我添加了protobuf-lite
也依赖于我的应用程序模块,它的作用就像魅力一样。
对我有用的第二个选项是,我没有添加 gradle 依赖项“compile 'com.google.protobuf:protobuf-lite:3.0.1'”,而是从 maven 下载了 protobuf-jar 并手动添加到我的库模块的库中,问题就解决了。
不知道 gradle 插件出了什么问题,但希望它能帮助其他人寻找同样的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)