【发布时间】:2013-05-13 14:59:36
【问题描述】:
我在 Android 版本低于 3 的应用中收到(来自 bugsense)崩溃报告。但应用已在清单中声明:
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="17" />
因此,一旦用户移动,应用程序就会崩溃。
这怎么可能?我知道安装应该失败并显示“包分析失败”消息。 我是否必须实施应用内 Android 版本检查?还是我在清单中遗漏了什么?
一个例子:
0java.lang.NoSuchMethodError: xxx.xxx.xxx.MyActivity.getFragmentManager
1at xxx.xxx.xxx.MyActivity.onCreate(MyActivity.java:98)
2at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
3at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
4at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
5at android.app.ActivityThread.access$1500(ActivityThread.java:117)
6at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
7at android.os.Handler.dispatchMessage(Handler.java:99)
8at android.os.Looper.loop(Looper.java:123)
9at android.app.ActivityThread.main(ActivityThread.java:3729)
10at java.lang.reflect.Method.invokeNative(Native Method)
11at java.lang.reflect.Method.invoke(Method.java:507)
12at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:874)
13at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:632)
14at dalvik.system.NativeStart.main(Native Method)
我敢打赌我在 Android 2.3.3 中没有 SuchMethod
无论如何,本周的总错误仅为3,每天约有 1k 用户和 3.5k 会话。所以把这个 Q 当作一个练习。
【问题讨论】:
-
好吧,要么有人拥有您的代码并正在通过 SDK 安装,要么有人将您的 APK 侧载到旧版本的设备上。崩溃报告是什么样的?
-
可能是这种情况,因为它是开源的,因此代码是免费提供的。我正在编辑问题以包含类似的错误。
-
无论如何,我的应用程序仅通过侧载安装(和应用程序内更新);)