Treasure
Treasure copied to clipboard
在库中使用Treasure
你好,我最近在尝试使用Treasure。
我在项目的其中一个module里引用了Treasure,使用的时候并没有问题(因为app和其他module本身并没有使用Treasure,所以就没有使用gradle plugin)。
但当我把那个moudle分离出来,单独打包成一个aar时,再导入原项目后,运行的时候就出现了如下错误:
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/baoyz/treasure/Treasure; Caused by: java.lang.ClassNotFoundException: Didn't find class "com.baoyz.treasure.Treasure" on path: DexPathList[...]
请问你知道原因吗,谢谢
依赖这个 aar 的 module 需要添加 Treasure 的依赖
因为编译的 aar 里不会把依赖一起编译进去,所以你还得单独依赖一遍,apt 的依赖不需要加了。
compile 'com.baoyz.treasure:treasure:0.7.4'
这一行就行了。
谢谢,这的确解决了我的问题。不过在另一个project里面我遇到了Multiple dex files define Lcom/baoyz/treasure/PreferencesFinder的问题。这个project里有使用treasure,然后我以aar形式添加了含treasure的库(就是上面说的那个)。主项目中我已经按说明添加了gradle的plugin,不过依然出现了那个错误,是否因为我是以aar形式的问题呢?谢谢
@ben-zhong 可以在主 project 的 build.gradle 中配置:
compile('com.baoyz.treasure:treasure:0.7.4') {
exclue group: 'com.baoyz.treasure'
}