Java Android部署的应用程序无法实例化应用程序
我有一个奇怪的错误,我不知道如何解决。 我测试了直接部署到手机上的应用程序,它工作正常。但现在测试从Play Store下载时,应用程序会在启动时崩溃,错误如下: java.lang.RuntimeException:无法实例化应用程序 com.bookit.android.BookItApp:java.lang.ClassNotFoundException: com.bookit.android.BookItApp 我有这门课:Java Android部署的应用程序无法实例化应用程序,java,android,runtime-error,Java,Android,Runtime Error,我有一个奇怪的错误,我不知道如何解决。 我测试了直接部署到手机上的应用程序,它工作正常。但现在测试从Play Store下载时,应用程序会在启动时崩溃,错误如下: java.lang.RuntimeException:无法实例化应用程序 com.bookit.android.BookItApp:java.lang.ClassNotFoundException: com.bookit.android.BookItApp 我有这门课: package com.bookit.android; pub
package com.bookit.android;
public class BookItApp extends Application {...}
我的清单我认为定义应用程序类没问题:
<应用程序
android:name=“BookItApp”
或者我应该定义:
android:name=“com.bookit.android.BookItApp”
更新:
这是我的proguard-project.txt
我不知道是否可以
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
就像你说的,你应该这样定义它
<application
android:name="com.bookit.android.BookItApp"
...
...
>
错误显示“java.lang.ClassNotFoundException:com.bookit.android.BookItApp”,因此定义很好 你可以解压apk找到“com.bookit.android.BookItApp”,如果它丢失了,可能是打包造成的
PS:它总是发生吗?这可能是一个未知数。proguar是否在project.properties文件中启用?如果是这样的话,您的proguard conf文件中是否有-keep public class*extensed android.app.Application?是的,始终只有在我从Play Store部署应用程序时才有。如果我直接从电脑到手机,就没有问题了。解压包有一个“classes.dex”,我想在我的BookItApp类中有,但我不知道如何检查它…其他文件是资源、库等。我上传了一个新的apk来播放修改后的存储。现在,我必须等到谷歌用更新的页面刷新我的应用程序页面,才能检查它是否解决了问题。应用程序已经更新,并且知道它工作正常。所以我认为这才是真正的问题,因为我没有做任何其他的改变。这太神奇了!!!现在,应用程序突然又停止工作了。现在它有一个全新的错误“无法实例化应用程序com.bookit.android.BookItApp:java.lang.ClassNotFoundException:在路径:/system/framework/com.google.android.maps.jar:/data/app/com.bookit.android-1.apk上找不到类“com.bookit.android.BookItApp”