如何在Android库AAR中包含第三方JAR,无需合并代码
我有一个新要求,即将JAR文件myspecial.jar
包含到我正在构建的Android库中。当我使用gradle构建AAR时,生成的包将我的类和类从myspecial.jar
合并到一个名为classes.jar
的文件中。我想让他们分开。如何在Android库AAR中包含第三方JAR,无需合并代码
根据Android的网站https://developer.android.com/studio/projects/android-library.html,有可能做到这一点。
此外,一个AAR文件可以包括下列可选条目中的一个或多个:
/资产/
/libs/name.jar
/JNI/abi_name /名称。所以
/proguard.txt
/lint.jar
我已经尝试了所有我知道的有限gradle-fu。我无法弄清楚。
我碰到过这个:https://github.com/adwiv/android-fat-aar但它似乎并不适合我。
TL; DR:需要gradle支持将第三方jar作为它自己的文件绑定到aar里的libs目录中,而不是与我自己的代码一起编译到classes.jar
中。
解决方案是迁移到Gradle插件3.0 - https://developer.android.com/studio/preview/features/new-android-plugin-migration.html。它提供了api
和implementation
属性,消除了jar和aars中的重复类。
我想如果你禁用了proguard,默认情况下它们是分开的。 更改minifyEnabled true
至minifyEnabled false
可能会禁用该proguard。
您是否找到解决方案?我正在寻找相同的。 –
不幸的是,没有。我仍在四处寻找解决方案。 –