gpt4 book ai didi

java - 设置混淆后从 Eclipse 运行 Android 应用程序

转载 作者:行者123 更新时间:2023-11-30 08:59:34 25 4
gpt4 key购买 nike

所以,这可能是有史以来最愚蠢的问题,但我想不通。

我将我的项目设置为在导出 APK 时使用 Proguard 混淆。几周后,我在这里对我的应用程序进行了一些更改以准备更新,然后我右键单击我的项目并执行运行方式 -> Android 应用程序,就像我在测试时一直习惯的那样。

当我在引用混淆代码的主要方法的第一行看到 java.lang.NoClassDefFoundError 时,我感到非常惊讶。代码在 Eclipse 中编译,但是当使用 Run As -> Android Application 运行时,它立即崩溃。

但是,如果我从 Eclipse 导出 APK 并手动将其安装到我的手机上,该应用程序运行正常!虽然由于混淆而导出需要相当长的时间,而我每次我想测试更改时,等待它都是一种痛苦。

所以我很确定这与混淆、Proguard 和 Eclipse 构建过程有关。但我不确定到底出了什么问题,或者什么时候出了问题。

我试过清理项目,我试过从我的 project.properties 文件中取出“proguard.config=proguard.cfg”。 在某处,我的项目发生了一些与混淆相关的事情,这使得我的应用程序在不导出 APK 的情况下无法运行。是什么原因造成的?

我的印象是执行 Run As -> Android Application 不会调用 Proguard。那么这是怎么回事?

(注意:使用“Debug As”而不是“Run As”会发生同样的事情)

编辑 1

我试过在 project.properties 中注释掉 proguard.config 行,清理项目,然后重建它。同样的问题。

此外,我尝试重命名/删除 proguard.cfg,但问题仍然存在。这让我想到,也许这不是与混淆相关的问题,而是项目设置问题?但是当我运行为 -> Android 应用程序时导出 APK 但崩溃时它怎么能工作?没有意义。

编辑 2

解决方案在对已接受答案的评论中。感谢您让我走上正确的道路!

最佳答案

我建议你disable proguard除非你正在做一个发布版本。当您禁用/启用 proguard 时,您将需要 Project > Clean(如果您没有选中 Project > Build Automatically,则需要重新构建;Project ->构建CTRL-B).

Project > Clean

关于java - 设置混淆后从 Eclipse 运行 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27176437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com