【问题标题】:Newly published app 'ClassNotFoundException' on package name包名称上新发布的应用程序“ClassNotFoundException”
【发布时间】:2013-09-05 16:46:30
【问题描述】:

以下是新发布应用的崩溃报告。我用一个列为测试人员的谷歌帐户测试了购买它,这与它有什么关系吗?堆栈 strace 说路径中的包名称末尾有一个'-1'?

java.lang.RuntimeException: Unable to instantiate activity 
ComponentInfo{com.zenlifegames.teachtryabc123/com.zenlifegames.teachtryabc123.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.zenlifegames.teachtryabc123.MainActivity" on path: /mnt/asec/com.zenlifegames.teachtryabc123-1/pkg.apk
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2060)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2174)
at android.app.ActivityThread.access$700(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1267)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5059)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.zenlifegames.teachtryabc123.MainActivity" on path: /mnt/asec/com.zenlifegames.teachtryabc123-1/pkg.apk
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2051)
... 11 more



<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zenlifegames.teachtryabc123" 
android:versionCode="2"
android:versionName="1.0.1" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="18" />

<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />

<application
    android:allowBackup="true"
    android:icon="@drawable/game_icon"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <service android:name="com.zenlifegames.teachtryabc123.MyMusicService" >
    </service>

    <activity
        android:name="com.zenlifegames.teachtryabc123.MainActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>        
    <activity
        android:name="com.zenlifegames.teachtryabc123.Preferences"
        android:label="@string/set_preferences"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.zenlifegames.teachtryabc123.GameSelector"
        android:label="@string/title_activity_game_selector"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.zenlifegames.teachtryabc123.Game2Show"
        android:label="@string/title_activity_game2_show"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.zenlifegames.teachtryabc123.Game2Try"
        android:label="@string/title_activity_game2_try"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.zenlifegames.teachtryabc123.Game1Show"
        android:label="@string/title_activity_game1_show"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.zenlifegames.teachtryabc123.Game1Try"
        android:configChanges="orientation|screenSize"
        android:label="@string/title_activity_game1_try"
        android:screenOrientation="portrait" >
    </activity>
</application>

【问题讨论】:

  • 包名有-1是正常的。你在签署apk时使用了proguard吗?
  • 我没有。我看到在使用许可库时建议使用它并且我确实下载了该工具,但由于这是我的第一个应用程序,我不确定是否使用它并且认为它不是必需的?
  • 这不是必需的。如果您使用过它,那可能是您的问题。在调试时,我确信它在您的设备上运行良好,但您是否尝试过在推送到 Play 商店之前安装已签名的 APK?
  • 此外,此类问题通常是由于添加活动时 AndroidManifest.xml 中的错误造成的。您在那里声明您的活动时是否使用了完全限定名称?
  • 精简版可在 Play 商店中使用。我添加了我的 XML

标签: android classnotfoundexception runtimeexception


【解决方案1】:

原来我需要做一个项目 --> 清理。

当某些事情不起作用时(即在我尝试其他所有方法之前!)忘记首先这样做会使我变成一个疯狂的人......

【讨论】:

  • + 1 表示尽管兴奋回来并发布答案。欢呼声
  • 哈,谢谢!我今天只是在考虑这个问题,当时我又花了 20 分钟清理项目并发现这就是我所需要的。
猜你喜欢
  • 1970-01-01
  • 2015-05-28
  • 1970-01-01
  • 2014-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多