2017-01-09 3 views
-5

私は電報ソースコードを作成中です。すべてのことが正しかったので、今度はアプリがデバイスにインストールされ、正常に実行されます。アンドロイドデバイス搭載のアンドロイドアプリを強制終了4

しかし、アンドロイドバージョン4.0.1からアンドロイドバージョン4.2.2までのデバイスでは、アプリケーションは次のエラーで停止します。 build.gradleのdefaultConfig.applicationIdir.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.access$600(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) 

答えて

0

回答リンク: NoClassDefFoundError below SDK 21

は、私は私のアプリケーションクラスにこれを追加することで、問題を解決しました。すでにApplicationクラス

を実装している場合のAndroidManifest.xml

であなたのタグに

android:name="android.support.multidex.MultiDexApplication" 

:あなたが持っていない場合は

@Override 
protected void attachBaseContext(Context base) { 
super.attachBaseContext(base); 
MultiDex.install(this); 
} 

/Applicationクラスを使用して、あなたはこれを置くことができます

また、明らかに、Gradle依存関係を追加する必要があります。

compile 'com.android.support:multidex:1.0.0' 

詳細情報:6535メソッド問題:https://developer.android.com/tools/building/multidex.html

関連する問題