Class 未包含在 aar 中

Class not included in the aar

我正在使用 Android Studio 1.0.1。

我设法在一个项目中配置 Android 库模块,所以它内置在 AAR 中。

我的问题是 AAR 存档中没有我的 class。当我检查 MyProject/MyModule/build/intermediates/classes/debug/my/package/mymodule 时,我可以看到我的 class 已编译:MyClass.class

但是当我进入 AAR(或解压它)时,同一个目录(我指的是 AAR 文件中 classes.jar 中的 my/package/mymodule)只包含一个文件:BuildConfig.class

为什么我的 class 没有包含在 AAR 中?

可能与 proguard 配置有关我遇到了同样的问题,我通过在 proguard-rules 文件中添加一条规则解决了它。这正是我所做的:

  • 添加规则-keep public class my.package.** { public *;}proguard-rules.pro文件
  • 运行 gradlew assemble 在终端上

之后您将在 youModule/build/outputs/aar/ 目录中找到您的 aar 文件

希望对您有所帮助

我一直在摆弄插件,在我的例子中(一个 Kotlin 库)我不小心删除了太多插件。如果您的 *.aar 也是 empty,请确保您至少有这两个集合:

plugins {
    id("com.android.library")
    id("kotlin-android") // <-- this one was missing
}