【发布时间】:2020-03-15 19:56:36
【问题描述】:
我正在构建一个 Android 库(例如,MyLibrary),它将添加到我公司的其他应用程序中。该库在build.gradle 文件中有一些依赖项,如下所示:
dependencies{
implementation 'com.alimuzaffar.lib:pinentryedittext:2.0.6'
implementation "com.google.android.gms:play-services-auth-api-phone:17.3.0"
// ... other dependencies
}
创建库后,我创建了一个 Github 包,因此我可以将其添加到 AppDemos build.gradle 文件中的另一个应用程序(例如 AppDemo),如下所示:
dependencies{
implementation 'com.mycompany:mylibrary:1.2.3'
// other dependencies
}
问题是我得到了依赖错误,即缺少MyLibrarys 依赖(在此示例中,pinentryedittext、play-services-auth-api-phone 如上面库的build.gradle 文件所示)。
我搜索了这个问题并尝试了一些解决方案,例如Mobbeel fataar gradle plugin,以及其他一些类似的插件,但我无法让它们工作。
谁能帮我解决这个问题或给我一个工作样本?任何帮助都将是可观的。
【问题讨论】:
-
您需要在您希望允许最终用户访问的第三方库的库 gradle 文件中将
implementation更改为api。在您的情况下使用它,然后重新发布您的库:(即api 'com.alimuzaffar.lib:pinentryedittext:2.0.6') -
对不起。我刚刚尝试过,但没有奏效。我只需要将
implementation更改为api还是还有其他事情要做? -
您是否将库添加为 aar 文件?
-
是的,我正在使用 aar 文件。我按照tutorial 制作了我的 github 包。
-
哦,在这种情况下,我的解决方案将不起作用,因为它不适用于 aar 文件。您需要创建 fat aar,我以为您将其发布到 maven 或 jitpack。
标签: java android gradle github github-package-registry