我在Eclipse中的导出过程突然遇到问题,要求在发布之前许可我的Android应用。
当我在调试模式下正常构建并部署到设备时,文件大小为11,782Mb。当我使用导出过程时,文件较小,为11,322Mb。当我在设备上测试文件时,该文件已损坏并且无法加载。当此过程成功时,文件大小相同。
之前发生过一次或两次,并且通常清理和重建项目将其整理出来,但现在无论我做什么,它现在都会发生。请问这里有什么想法吗?
编辑:生产密钥很好,一直使用它。
当我尝试安装应用程序时,我收到ClassNotFoundException: java.lang.RuntimeException:无法实例化应用程序com.myapp.android.App:java.lang.ClassNotFoundException:未找到类" com.myapp.android.App" on path:DexPathList [[zip file" /data/app/com.myapp.app-1.apk"],nativeLibraryDirectories = [/ data / app-lib / com.myapp.app-1,/ vendor / lib,/ system / lib]]
答案 0 :(得分:0)
我遇到ClassNotFoundException
有几个可能的原因。以下是一些建议:
您提到“清理和重建” - 由于某种原因(通常与编译R.java
文件有关)我偶尔需要“清理”一次以获得良好的生产版本。我甚至可以做一个“干净”并导出一个很好的测试,然后用失败导出。我可能已经在50多个应用中对Google Play进行了超过1000次部署。它发生了......
Android的安装程序已损坏。是的 - 这也发生了。有时使用生产部署(不使用“debug”或“AVD” - 但使用“ADB”安装或生产安装),Android安装程序将不会永远再次安装您的应用程序。设备的恢复出厂是唯一的解决方案。我相信Android操作系统更新可以解决问题,但我只是间歇性地看到这项工作,并没有真正测试过它。
表现错误。有时,生产清单文件与应用程序类不匹配。通常这会发生在重构类名的情况下。特别是Eclipse似乎并不总是正确地修改清单文件。您可能需要手动检查。
更改了res
个文件。有时,在编辑XML文档时,您将遇到编译器或IDE无法获取的错误。您进行构建并部署到测试设备,由于某种原因,该设备似乎没有使用该资源或其他一些奇怪的错误。通常它不会在任何地方正确部署,但我已经看到它部署到测试设备,然后不在生产中部署。作为一种做法,我通过偶尔“卸载”然后在测试期间重新安装应用程序来避免此问题。
OP让我想起了下面评论中的另一个(对于未来的读者) - 尝试从构建中删除生成的文件。例如,“BIN”和“GEN”中的任何内容都可以删除并使用“构建”重新构建。这些文件有时包含先前版本中的工件,这些工件不再有效,但在自动构建过程中未检测到。
这些是一些建议。试一试......