【发布时间】:2014-02-25 08:25:25
【问题描述】:
我最近遇到了一个 Android 应用程序问题,我不知道发生了什么。 我正在通过 Eclipse 开发和测试我的应用程序,一切正常。 然后是时候在 PlayStyore 上发布它了(1.0 版已经在几个小时前发布了)。 所以我清理了我的工作区,并通过“Android 工具 => 导出签名的应用程序包”对 APK 进行了签名,并将 .apk 上传到了 GooglePlay。 上传过程完成,没有任何问题。 当应用程序 (1.0.1) 在 PlayStore 上发布时,我尝试下载它并将其安装在我的手机上。它下载正常,但应用程序在 1 秒后崩溃,甚至第一个屏幕都没有出现。 (但它在我的设备连接到 Eclipse 时运行良好,我还在手机上通过电子邮件发送了 apk 并从那里安装,没问题)
安装了我的应用新版本的每个人都无法启动它...
这是我可以在 GooglePlay 上看到的日志
java.lang.RuntimeException:无法实例化应用程序 be.example.ex.Ex: java.lang.ClassNotFoundException: 找不到类 路径上的“be.example.ex.Ex”:/data/app/be.example.ex-2.apk at android.app.LoadedApk.makeApplication(LoadedApk.java:509) 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:4657) 在 android.app.ActivityThread.access$1400(ActivityThread.java:159) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1376) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android.os.Looper.loop(Looper.java:176) 在 android.app.ActivityThread.main(ActivityThread.java:5419) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:525) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862) 在 dalvik.system.NativeStart.main(Native Method) 原因: java.lang.ClassNotFoundException:没有找到类“be.example.ex.Ex” 在路径上:/data/app/be.example.ex-2.apk 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:64) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:501) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:461) 在 android.app.Instrumentation.newApplication(Instrumentation.java:992) 在 android.app.LoadedApk.makeApplication(LoadedApk.java:504) ... 11 更多
所以我阅读了一些关于 SO 的帖子,我清理了我的项目(再次),取消链接我的项目的库,然后再次将它们链接回来。 我发布了新的 APK (1.0.2),希望一切正常,用户可以在从 PlayStore 下载后启动它。
现在我有另一个版本要发布,但我无法解决同样的问题。现在越来越多的人下载了这个应用程序,我无法承受这个应用程序在每个用户的手机上崩溃。
有没有办法避免上一个问题?也许是检查 apk 是否已正确构建的工具?
请注意,这是我第一次收到此错误,并且我已经发布了一些应用程序而没有任何问题。我现在每次发布新版本都会吓坏了,所以如果有人可以给我一个建议以确保这种情况不再发生,那就太好了:)
提前致谢!
【问题讨论】:
-
在Google Play上使用Beta、Alpha阶段,support.google.com/googleplay/android-developer/answer/…
-
是的,我想过这个问题,但是在尝试打开他们提供的发送给测试人员的链接时,我遇到了错误 404。他们说最多可能需要 24 小时,所以我会等几个小时。这对我来说似乎是最好的方法。
-
@Seb83 在 Google Play 上使用 Alpha/Beta 阶段对您有用吗?
-
是的。我终于进行了 Alpha/Beta 测试,现在我总是先在 BETA 中发布 APK。我不能再遇到和以前一样的问题了。
标签: android eclipse classnotfoundexception publishing google-play