检查APK是否已正确构建

时间:2014-02-25 08:25:25

标签: android eclipse classnotfoundexception publishing google-play

我最近遇到了Android应用程序的问题,我无法弄清楚发生了什么。 我正在通过Eclipse开发和测试我的应用程序,一切正常。 然后是时候将它发布在PlayStyore上(版本1.0已经在几小时前发布)。 所以我清理了我的工作区,并通过“Android Tools =>导出已签名的应用程序包”对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)at   android.app.ActivityThread.handleBindApplication(ActivityThread.java:4657)   在android.app.ActivityThread.access $ 1400(ActivityThread.java:159)at   android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1376)   在android.os.Handler.dispatchMessage(Handler.java:99)at   android.os.Looper.loop(Looper.java:176)at   android.app.ActivityThread.main(ActivityThread.java:5419)at   java.lang.reflect.Method.invokeNative(Native Method)at   java.lang.reflect.Method.invoke(Method.java:525)at   com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1046)   在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)at   dalvik.system.NativeStart.main(Native方法)引起:   java.lang.ClassNotFoundException:没有找到类“be.example.ex.Ex”   在路径上:/data/app/be.example.ex-2.apk at   dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:64)   在java.lang.ClassLoader.loadClass(ClassLoader.java:501)at   java.lang.ClassLoader.loadClass(ClassLoader.java:461)at   android.app.Instrumentation.newApplication(Instrumentation.java:992)   在android.app.LoadedApk.makeApplication(LoadedApk.java:504)... 11   更

所以我在SO上阅读了几篇文章,我再次清理了我的项目,取消了项目库的链接,然后再将它们链接起来。 我发布了新的APK,(1.0.2),希望一切正常,用户可以在从PlayStore下载后启动它。

现在我有另一个版本要发布,我就是无法解决同样的问题。现在有更多人下载了应用程序,我无法承受应用程序在每个用户的手机上崩溃。

有没有办法避免以前的问题?也许是一个检查apk是否已正确构建的工具?

请注意,这是我第一次收到此错误,而且我已经发布了一些没有任何问题的应用。我每次发布新版本时都会感到害怕,所以如果有人能给我一个建议,以确保这种情况再也不会发生,那就太好了:)

提前致谢!

2 个答案:

答案 0 :(得分:1)

可能是清单不正确 请检查意图过滤器

<activity
    android:name="com.example.test.MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

com.example.test.MainActivity应该正确声明

答案 1 :(得分:1)

最好的办法是检查eclipse制作的apk。有时,我在谷歌游戏商店新发布之前有同样的问题,我在手机上测试我的apk。只需使用以下命令行。

adb install pathToMyApk.apk