当前位置: 首页 > 知识库问答 >
问题:

启用ProGuard会导致签名APK生成失败吗?

姬飞飙
2023-03-14

我已经在我的gradle文件中启用了minifyenabled来使用ProGuard的特性来混淆代码,结果导致一些错误。

  • 注意:动态创建的类实例有1个类强制转换。您可能会考虑显式保留提到的类和/或它们的实现(使用'-keep')。
  • 警告:有309个未解析的类或接口引用。您可能需要添加丢失的库JAR或更新它们的版本。如果您的代码在没有丢失类的情况下运行良好,则可以使用'-dontwarn'选项抑制警告。(http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)

还有更多。

共有1个答案

柳俊逸
2023-03-14

ProGuard分析应用程序中的所有代码(包括库),如果它看到未解析的引用(或其他问题,但未解析的引用在这里是重要的),则生成警告。库引用项目中不存在的系统或库代码是非常常见的。

例如:Picasso可选地与OkHttp集成,并具有引用该库的代码。但是,如果您还没有包含OkHttp,ProGuard将对未解析的引用发出警告。

成功的生成不能有任何来自ProGuard的警告。ProGuard还检查反射,如果在反射中发现未解析的引用,ProGuard将生成注释而不是警告。警告和注释都可能指向类路径的问题。您可以自己检查代码,看看是否存在实际问题,或者信任库,它们的代码可以在Android(以及您的目标平台版本)上运行。

 类似资料:
  • 我得到一个错误>Task:app:ProcessReleaseResources失败,将任务':app:ProcessReleaseResources‘的任务工件状态放入上下文需要0.0秒。文件或目录'/users/apple/desktox/myparkkingapplocalrepo/the-parkking-reactnative/android/app/libs',未找到文件或目录'/us

  • 我正在尝试构建我的第一个签名APK以供发布,但出现了一些错误。看起来效果很好,但现在我就是无法生成APK。我做了研究,但什么也没找到。 Gradle版本:4.8,Android插件版本3.1.4,这是我的应用程序Gradle屏幕截图:link 这来自assembleDebug: 我曾经有过布局和不赞成使用的功能的其他问题,但我解决了它。其中一个就这样消失了,但我什么也没做:-) 我已经尝试过的事情

  • 我正在尝试生成签名APK。但由于生成时的lint错误而无法生成。我检查了我的lint报告,它在我的XML文件中显示错误。 林特在组装释放目标时发现致命错误。要继续,要么修复lint识别的问题,要么修改构建脚本,如下所示:...android{lintOptions{checkReleaseBuilds false//或者,如果您愿意,您可以继续检查版本构建中的错误,//但即使发现错误,也可以继续构

  • 我正在按照http://spring.io/guides/gs/consource-web-service/#scratch中提供的分步说明学习如何使用Gradle和Spring-WS使用SOAP web服务。我已经创建了上面URL中指定的文件夹结构(即:c:/src/main/java/hello)并将build.gradle、weatherclient.java、weatherconfigur

  • 我正在Clojure中开发一个简单的hello world web应用程序。但是,在我将模式库添加到我的项目之后,当我试图使用构建一个uberjar时,我开始出现以下错误。奇怪的是,在使用启动时,应用程序仍然通过单元测试,并且运行时没有错误。 下面是我使用schema的源文件。为了简洁起见,我省略了其余的源文件,但如果有人想查看其余的文件,请直接询问。 我已经尝试过禁用AOT编译,因为这似乎是正常