安定したチャネルからAndroid Studio 2.1に更新しました。これを実行するとすぐに、マニフェストで長時間宣言されているログインクラスにClassNotFoundExceptionが取得されます。更新前に、アプリは正常にコンパイルされていました。
com.myapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.myapp, PID: 29605
Java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.myapp/com.myapp.Login}: Java.lang.ClassNotFoundException: Didn't find class "com.myapp.Login" on path: DexPathList[[Zip file "/data/app/com.myapp-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:3023)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:3294)
at Android.app.ActivityThread.access$1000(ActivityThread.Java:210)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1704)
at Android.os.Handler.dispatchMessage(Handler.Java:102)
at Android.os.Looper.loop(Looper.Java:145)
at Android.app.ActivityThread.main(ActivityThread.Java:6938)
at Java.lang.reflect.Method.invoke(Native Method)
at Java.lang.reflect.Method.invoke(Method.Java:372)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:1404)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:1199)
Caused by: Java.lang.ClassNotFoundException: Didn't find class "com.myapp.Login" on path: DexPathList[[Zip file "/data/app/com.myapp-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.Java:56)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:511)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:469)
at Android.app.Instrumentation.newActivity(Instrumentation.Java:1094)
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:3013)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:3294)
at Android.app.ActivityThread.access$1000(ActivityThread.Java:210)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1704)
at Android.os.Handler.dispatchMessage(Handler.Java:102)
at Android.os.Looper.loop(Looper.Java:145)
at Android.app.ActivityThread.main(ActivityThread.Java:6938)
at Java.lang.reflect.Method.invoke(Native Method)
at Java.lang.reflect.Method.invoke(Method.Java:372)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:1404)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:1199)
Suppressed: Java.lang.ClassNotFoundException: com.myapp.Login
at Java.lang.Class.classForName(Native Method)
at Java.lang.BootClassLoader.findClass(ClassLoader.Java:781)
at Java.lang.BootClassLoader.loadClass(ClassLoader.Java:841)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:504)
... 13 more
Caused by: Java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
これは私のgradle.buildです
apply plugin: 'com.Android.application'
apply plugin: 'com.google.gms.google-services'
Android {
compileSdkVersion 'Google Inc.:Google APIs:23'
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.myapp"
minSdkVersion 14
targetSdkVersion 22
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
// compile files('libs/smack-core-4.0.7.jar')
compile 'com.Android.support:appcompat-v7:23.0.1'
compile 'com.google.Android.gms:play-services:7.8.0'
compile 'com.google.maps.Android:android-maps-utils:0.4+'
}
これまでに私は試しました1)プロジェクトをクリーンして再構築します2)ビルドフォルダーを削除してプロジェクト/再起動を再構築しますAndroid Studio 3)カナリアチャネルと開発チャネルに切り替えて更新します4)チェックと設定でオフラインモードのチェックを外します明らかにこれはバグですが、これに対する解決策はありますか?最近の更新を元に戻すにはどうすればよいですか?どんな助けでも大歓迎です。
これを試して:
アプリをクリアcache
アプリをクリアdata
Uninstall
アプリ
Run/Debug
再び
うまくいきますように!
Android Studioのバージョン2.1にアップデートした後、同様のエラーが発生します。ずっと前に追加されたクラスがアプリケーションの起動時に見つかりません。それはAndroid 5.1および5.1.1でのみ発生です。本当に奇妙なクラッシュ!
これに対する解決策は、 "Instant Run"を有効にすることで、Lollipopの問題を解決しました。
私はこのエラーを経験し、SOスレッド、およびさまざまなリソースを調べ、Android dev ircにチェックインしました。回答は以下のようですトレンド:
クリーンビルド、リセットAndroidスタジオキャッシュ、アンインストール/再インストールAndroidスタジオ、Androidスタジオのままにして、それに戻る2時間、コンピューターを再起動します。
マニフェストで正しくリストされていますか? Gradle構成についてはどうですか?
ADT 22にアップグレードした後、ライブラリがAPKに追加されなくなります
Android Activity ClassNotFoundException-すべてを試しました
https://www.youtube.com/watch?v=3vqcGhEPHdo
純粋な絶望から、クラス名Manifest
をMyCoolManifest
に変更するなどして、問題がなくなったことがわかりました。クラス名はLogin
であるため、クラスの名前を変更すると問題が解決する可能性があります。
ターミナルで各行を実行して、gradleキャッシュをクリーンアップしてビルドしてみてください。
gradlew --stop
gradlew cleanBuildCache
gradlew clean
あなたが提供する必要があります:
compileSdkVersion '22' buildToolsVersion "22.0.1"
あなたのtargetSdkVersion 22
ここに行きます:プロジェクトをクリーンアップし、既存のアプリをアンインストールして再度実行します。
私にとって、上記のどれもうまくいきませんでした。 Hot Swapコードで "Instant Run"を無効にするまで。
Androidスタジオバージョン:2.3.最新(回答日)
Androidテストデバイス:5.1.1、6.0.1
即時実行を無効にします。 Android studio、Got to Preferences-> write "Instant Run" in the search bar-> Uncheck "Enable Instant Run to hot swap code。 .. "