从 "compile" 更改为 "implementation" 后无法解析构建文件中的符号 "packageName"

Cannot resolve symbol "packageName" inside build files after changing from "compile" to "implementation"

您好,我想解决新 Android 的 gradle、

中可能引入的错误

制作方法: 当你有一个你在你的项目中使用的库也使用实现(比如 google APIs)时,你被要求从 "compile" 更改为 "implementation"

问题:在这样做之后,在我的例子中,它在 "make APK" 中编译良好但未能编译为 "signed APK",日志只显示 "resolve your warnings" 并且警告是 "cannot resolve XXX package" "cannot resolve XXX class" 但由 "build" 文件夹中的导入 libraries/apis 生成。

这是由于从 API 到您的图书馆以及从图书馆到您的主 module/app 执行双重 "implementation" 时可能存在的错误。顺便说一下,使用 "compile"

时不会发生这种情况

解决方案:我的解决方法(不是确定的解决方案)是将使用这些特定实现的 类 移动到临时帮助文件中的主要 module/app 并实现 API s直接进入module/app.

让我知道是否有更好的解决方案。

解决方案:我的解决方法(不是确定的解决方案)是将使用这些特定实现的 类 移动到临时帮助文件中的主要 module/app 并实现 API s直接进入module/app.

解决方案:我在其他地方发现您可以通过使用 API 而不是库依赖项中的实现来解决此问题,如下所示:

dependencies {
    api 'com.android.support:appcompat-v7:27.1.0'
}

让我知道是否有更好的解决方案。