【发布时间】:2014-12-10 15:30:55
【问题描述】:
这里是新开发者。
我最近刚刚完成了我正在开发的应用,并将其作为测试版发布到 Play 商店。在将其发送给我的 beta 测试人员之前,我给自己发送了一个链接,只是想看看它是否有效。当我单击链接并从 Play 商店安装应用程序时,它似乎已经加载到我的设备上。但是当我打开应用程序时,它甚至在打开之前就崩溃了。我收到“很遗憾,应用名称已停止”消息。
为了仔细检查并确保我在发布前的最后一分钟没有搞砸任何事情,我使用 Android Studio 从我的设备上卸载并运行了该应用,它运行良好。
我能想到的唯一可能是我在构建 APK 之前所做的几件事。
首先,在我的 build.gradle 文件中,我在这行代码中插入了“优化”:
buildTypes {
release {
runProguard true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
然后在 proguard-rules.pro 我添加了以下内容:
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int v(...);
public static int i(...);
public static int w(...);
public static int d(...);
public static int e(...);
}
-ignorewarnings
据我所知,“assumenosideeffects”行是为了清除我的日志,这样它们就不会在 Play 商店版本中运行。
我添加了“ignorewarnings”行,因为在构建 APK 时,我收到了 78 个(黄色)警告,所有这些都与 Facebook 有关。但我没有 facebook 集成,甚至从未尝试编写任何代码来集成 facebook。所以我假设添加 ignorewarnings 行不会妨碍应用程序的功能。我弄错了吗?
所以这是我的问题。任何想法可能是什么问题?
非常感谢您的帮助。我从这个社区中受益匪浅,我非常感激:)
编辑
堆栈跟踪如下:
java.lang.RuntimeException: Unable to create application com.offyear.www.offyear.Application: java.lang.IllegalArgumentException: Default constructor for class com.a.lb is not accessible.
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4447)
at android.app.ActivityThread.access$1300(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
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:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: Default constructor for class com.a.lb is not accessible.
at com.a.gy.c(Unknown Source)
at com.a.gy.C(Unknown Source)
at com.a.ed.a(Unknown Source)
at com.offyear.www.offyear.Application.onCreate(Unknown Source)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4444)
... 10 more
【问题讨论】:
-
请发布您收到的崩溃堆栈跟踪信息。
-
对不起,我不知道在不从 IDE 运行时该怎么做。从设备运行时如何打印堆栈跟踪?
-
好的,想通了。添加了堆栈跟踪。