在 android 4 的设备中强制关闭 android 应用程序
force close android app in devices with android 4
我正在处理电报源代码。一切正常,现在应用程序将在设备上安装并 运行 成功。
但在 android 版本 4.0.1 到 android 版本 4.2.2 的设备中,应用程序将停止并出现如下所示的错误。
我将 build.gradle 中的 defaultConfig.applicationId
更改为 ir.familygram.messenger
并猜测这是问题所在,但为什么它在带有 sdk 22,23 等的设备上运行良好。不适用于 android sdk 较低的设备?
android 设备监视器中的错误:
01-09 15:45:40.190: E/AndroidRuntime(8158): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{ir.familygram.messenger/org.telegram.ui.LaunchActivity}: java.lang.ClassNotFoundException: org.telegram.ui.LaunchActivity
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1998)
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2099)
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.app.ActivityThread.access0(ActivityThread.java:138)
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.os.Handler.dispatchMessage(Handler.java:99)
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.os.Looper.loop(Looper.java:137)
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.app.ActivityThread.main(ActivityThread.java:4954)
01-09 15:45:40.190: E/AndroidRuntime(8158): at java.lang.reflect.Method.invokeNative(Native Method)
01-09 15:45:40.190: E/AndroidRuntime(8158): at java.lang.reflect.Method.invoke(Method.java:511)
01-09 15:45:40.190: E/AndroidRuntime(8158): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798)
01-09 15:45:40.190: E/AndroidRuntime(8158): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565)
01-09 15:45:40.190: E/AndroidRuntime(8158): at dalvik.system.NativeStart.main(Native Method)
01-09 15:45:40.190: E/AndroidRuntime(8158): Caused by: java.lang.ClassNotFoundException: org.telegram.ui.LaunchActivity
01-09 15:45:40.190: E/AndroidRuntime(8158): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
01-09 15:45:40.190: E/AndroidRuntime(8158): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
01-09 15:45:40.190: E/AndroidRuntime(8158): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.app.Instrumentation.newActivity(Instrumentation.java:1056)
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1989)
01-09 15:45:40.190: E/AndroidRuntime(8158): ... 11 more
01-09 15:58:00.770: E/Trace(9057): error opening trace file: No such file or directory (2)
回答link:
我通过将此添加到我的应用程序解决了这个问题 Class。
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
如果你没有have/use申请class,你可以这样写:
android:name="android.support.multidex.MultiDexApplication"
进入您在 AndroidManifest.xml
上的标签
如果您已经实施了一个应用程序class
同样显然,您需要添加 Gradle 依赖项:
compile 'com.android.support:multidex:1.0.0'
有关 65k 方法问题的更多信息:https://developer.android.com/tools/building/multidex.html
我正在处理电报源代码。一切正常,现在应用程序将在设备上安装并 运行 成功。
但在 android 版本 4.0.1 到 android 版本 4.2.2 的设备中,应用程序将停止并出现如下所示的错误。
我将 build.gradle 中的 defaultConfig.applicationId
更改为 ir.familygram.messenger
并猜测这是问题所在,但为什么它在带有 sdk 22,23 等的设备上运行良好。不适用于 android sdk 较低的设备?
android 设备监视器中的错误:
01-09 15:45:40.190: E/AndroidRuntime(8158): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{ir.familygram.messenger/org.telegram.ui.LaunchActivity}: java.lang.ClassNotFoundException: org.telegram.ui.LaunchActivity
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1998)
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2099)
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.app.ActivityThread.access0(ActivityThread.java:138)
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.os.Handler.dispatchMessage(Handler.java:99)
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.os.Looper.loop(Looper.java:137)
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.app.ActivityThread.main(ActivityThread.java:4954)
01-09 15:45:40.190: E/AndroidRuntime(8158): at java.lang.reflect.Method.invokeNative(Native Method)
01-09 15:45:40.190: E/AndroidRuntime(8158): at java.lang.reflect.Method.invoke(Method.java:511)
01-09 15:45:40.190: E/AndroidRuntime(8158): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798)
01-09 15:45:40.190: E/AndroidRuntime(8158): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565)
01-09 15:45:40.190: E/AndroidRuntime(8158): at dalvik.system.NativeStart.main(Native Method)
01-09 15:45:40.190: E/AndroidRuntime(8158): Caused by: java.lang.ClassNotFoundException: org.telegram.ui.LaunchActivity
01-09 15:45:40.190: E/AndroidRuntime(8158): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
01-09 15:45:40.190: E/AndroidRuntime(8158): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
01-09 15:45:40.190: E/AndroidRuntime(8158): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.app.Instrumentation.newActivity(Instrumentation.java:1056)
01-09 15:45:40.190: E/AndroidRuntime(8158): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1989)
01-09 15:45:40.190: E/AndroidRuntime(8158): ... 11 more
01-09 15:58:00.770: E/Trace(9057): error opening trace file: No such file or directory (2)
回答link:
我通过将此添加到我的应用程序解决了这个问题 Class。
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
如果你没有have/use申请class,你可以这样写:
android:name="android.support.multidex.MultiDexApplication"
进入您在 AndroidManifest.xml
上的标签如果您已经实施了一个应用程序class
同样显然,您需要添加 Gradle 依赖项:
compile 'com.android.support:multidex:1.0.0'
有关 65k 方法问题的更多信息:https://developer.android.com/tools/building/multidex.html