【问题标题】:Android deployed App unable to instantiate applicationAndroid部署的App无法实例化应用
【发布时间】:2014-08-21 08:30:34
【问题描述】:

我有这个奇怪的错误,我不知道如何解决。 我测试我的应用程序直接部署到我的手机,它工作正常。但是现在测试从 Play Store 下载应用程序在启动时崩溃,错误是这个:

java.lang.RuntimeException:无法实例化应用程序 com.bookit.android.BookItApp:java.lang.ClassNotFoundException: com.bookit.android.BookItApp

我有这门课:

package com.bookit.android;

public class BookItApp extends Application {...}

我的清单我认为定义 App 类是可以的:

或者也许我应该定义:

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;

【问题讨论】:

  • 这可能是proguard问题。是否在 project.properties 文件中启用了 proguar?如果是这样,您的 proguard conf 文件中有 -keep public class * extends android.app.Application 吗?

标签: java android runtime-error


【解决方案1】:

正如你所说,你应该这样定义它

<application 
           android:name="com.bookit.android.BookItApp"
           ...
           ...
           >

【讨论】:

  • 我已经将一个新的 apk 上传到 Play 商店并进行了修改。现在我必须等到谷歌用更新的页面刷新我的应用页面,以检查它是否解决了问题
  • 应用程序已更新并且知道它工作正常。所以我认为这是真正的问题,因为我没有进行任何其他更改。
  • 这太棒了!!!现在该应用程序突然再次停止工作。现在它有一个全新的错误“无法实例化应用程序 com.bookit.android.BookItApp:java.lang.ClassNotFoundException:在路径:/system/framework/com 上找不到类“com.bookit.android.BookItApp”。 google.android.maps.jar:/data/app/com.bookit.android-1.apk"
【解决方案2】:

报错说“java.lang.ClassNotFoundException: com.bookit.android.BookItApp”,所以定义没问题

你可以解压apk找到“com.bookit.android.BookItApp”,如果丢失,可能是打包造成的。

PS:是不是经常出现?

【讨论】:

  • 是的,只有当我从 Play 商店部署应用程序时。如果我直接从我的电脑到手机,没有问题。解压缩的包有一个“classes.dex”,我认为在我的 BookItApp 类中有一个,但我不知道如何检查它...其他文件是资源、库等。
猜你喜欢
  • 1970-01-01
  • 2011-08-17
  • 1970-01-01
  • 2017-05-27
  • 2016-03-02
  • 2012-05-05
  • 2019-06-07
  • 1970-01-01
  • 2021-12-29
相关资源
最近更新 更多