生成签名的apk找不到通用的超类

时间:2019-03-27 01:30:52

标签: android android-gradle signed-apk

我正在尝试为我的应用程序构建一个签名的apk,但是每当尝试构建它时都会出现此错误:

  

找不到[com / google / android / gms / internal / zzata](具有1个已知的超类)和[java / lang / String](具有2个已知的超类)的公共超类

我以前可以使用不同的密钥库构建签名的APK,但是现在我得到的只是这个错误。

2 个答案:

答案 0 :(得分:0)

这看起来像是设置保护程序的问题,请参阅:Warning: can't find superclass or interface

如果缺少的类是从您自己的代码中引用的,则您可能忘记了指定基本库。就像从头开始编译所有代码一样,您必须直接或间接指定代码所引用的所有库。如果应该处理该库并将其包含在输出中,则应使用-injars指定它,否则,应该使用-libraryjars指定它。

答案 1 :(得分:0)

好像我找到了问题所在。在应用程序的build gradle中,我的依赖项如下所示:

dependencies {
        implementation fileTree(include: ['*.jar'], dir: 'libs')
        implementation project(':libcocos2dx')

    }
    //dependencies { compile 'com.google.android.gms:play-services-ads:15.0.1' }
    dependencies { compile 'com.google.android.gms:play-services-analytics:12.0.1' }
    dependencies { compile 'com.google.android.gms:play-services-auth:15.0.0' }
    dependencies { compile 'com.google.android.gms:play-services-games:15.0.0' }
    dependencies { compile 'com.google.android.gms:play-services-drive:15.0.0' }

我遇到的错误是说在google gms名称空间中找不到库引用。原来是因为我为'com.google.android.gms:play-services-analytics:12.0.1'服务使用的版本。我像其他库一样将版本从12.0.1更改为15.0.0,然后它起作用并生成了我的签名APK。谢谢您提供的所有帮助,我希望这可以对遇到相同问题的所有人有所帮助。