私のアプリケーションは、エミュレーター、およびデバッグ目的でAndroid studioによってインストールされた実際のデバイスでさえ、正常に動作していますが、apkファイルを使用して手動でインストールするとクラッシュします。
必要に応じて、アクティビティなどの他のコードを貼り付ける準備ができました。
ここにlogcatがあります:
04-14 12:20:44.392 6220-6220/? I/art: Late-enabling -Xcheck:jni
04-14 12:20:44.465 6220-6220/test.planner W/System: ClassLoader referenced unknown path: /data/app/test.planner-1/lib/arm
04-14 12:20:44.467 6220-6220/test.planner I/InstantRun: starting instant run server: is main process
04-14 12:20:44.470 6220-6220/test.planner D/AndroidRuntime: Shutting down VM
04-14 12:20:44.471 6220-6220/test.planner E/AndroidRuntime: FATAL EXCEPTION: main
Process: test.planner, PID: 6220
Java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{test.planner/test.planner.MainActivity}: Java.lang.ClassNotFoundException: Didn't find class "test.planner.MainActivity" on path: DexPathList[[Zip file "/data/app/test.planner-1/base.apk"],nativeLibraryDirectories=[/data/app/test.planner-1/lib/arm, /vendor/lib, /system/lib]]
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2327)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2476)
at Android.app.ActivityThread.-wrap11(ActivityThread.Java)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1344)
at Android.os.Handler.dispatchMessage(Handler.Java:102)
at Android.os.Looper.loop(Looper.Java:148)
at Android.app.ActivityThread.main(ActivityThread.Java:5417)
at Java.lang.reflect.Method.invoke(Native Method)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:726)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:616)
Caused by: Java.lang.ClassNotFoundException: Didn't find class "test.planner.MainActivity" on path: DexPathList[[Zip file "/data/app/test.planner-1/base.apk"],nativeLibraryDirectories=[/data/app/test.planner-1/lib/arm, /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:1067)
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2317)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2476)
at Android.app.ActivityThread.-wrap11(ActivityThread.Java)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1344)
at Android.os.Handler.dispatchMessage(Handler.Java:102)
at Android.os.Looper.loop(Looper.Java:148)
at Android.app.ActivityThread.main(ActivityThread.Java:5417)
at Java.lang.reflect.Method.invoke(Native Method)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:726)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:616)
Suppressed: Java.lang.ClassNotFoundException: test.planner.MainActivity
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)
... 12 more
Caused by: Java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
次の場所に移動:
Android Studio --> File --> Setting --> Build, execution, deploy --> Instant run.
instant run
を無効にします。
Android studio。
このオプションをdisable -> Instant Run
にすることはできません。 (メニューにはありません)
新しいAndroidスタジオとGradleのアップグレードでAPKをインストールするには、適切にビルドする必要があるようです。
オプション1:コマンドラインからのgradle
./gradlew :appName:clean
./gradlew :appName:build
オプション2: from Android studio
Android Studio -> build -> build APK
(またはため息をつくAPKを生成)
生成されたapkはデバイスにうまくインストールできます。
注:このバージョンのAndroid studioで新しいapplicateを開始した場合、studioから実行すると、apkが生成されないことがわかります。
私も同様の問題に直面しました。
Apkのサイズに注意してください。これは非常に小さいサイズです。これは、インスタント実行機能が有効になっているためです。無効にしてください
Android Studioは、プロセスを高速化するためにインスタントランを使用する場合、Apkのすべてのファイルを含みません。).
なぜこれが起こっているのか知っている人はいますか?
に行く:
Android Studio --> File --> Setting --> Build, execution, deploy --> Instant run.
Android Studio->ファイル->設定->ビルド、実行、デプロイ->インスタント実行。インスタント実行を無効にします。