从Playstore打开时,Android Beta应用程序崩溃了(但不是这样)

时间:2014-10-15 14:02:39

标签: android apk beta

这里的新开发者。

我刚刚完成了一个我正在处理的应用程序,并将其作为测试版发布到Play商店。在将此信息发送给我的测试版之前,我发送了一个链接给自己,看看它是否有效。当我点击链接并从Play商店安装应用程序时,它似乎已经加载到我的设备就好了。但是当我打开应用程序时,它甚至在打开之前崩溃了。我得到了一个"不幸的是,应用名称已停止"消息。

只是为了仔细检查并确定我在发布前的最后一分钟没有弄乱任何东西,我卸载并使用Android Studio从我的设备运行应用程序,它运行得很好。

我能想到的唯一一件事可能是导致这是我在构建APK之前所做的一些事情。

首先,在我的build.gradle文件中插入" optimize"这行代码:

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

" supmenosideeffects" line - 据我所知 - 是清除我的日志,以便他们不会在Play商店版本中运行。

我添加了" ignorewarnings"因为在构建APK时,我收到78(黄色)警告,所有这些都与Facebook有关。但我没有Facebook整合,甚至从未尝试编写任何代码来整合Facebook。因此我假设添加ignorewarnings行不会妨碍应用程序的功能。我错了吗?

这就是我的问题。任何想法可能是什么?

非常感谢你的帮助。我从这个社区中受益匪浅,我非常感激:)

修改

Stack Trace如下:

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

1 个答案:

答案 0 :(得分:0)

好的,不确定问题的根源是什么,但我最终解决了这个问题 - 我想发布它以防其他人遇到类似问题。

显然,proguard代码中的某些东西搞砸了。所以我刚刚删除了所有的proguard代码,在gradle中将runProguard设置为false并删除" optimize。"

应用程序安装并从Google Play运行后没有任何问题。