java - (TensorflowLite/Android) Unable to instantiate activity ComponentInfo
问题描述
I run a Tensorflow example (https://github.com/tensorflow/examples/blob/master/lite/examples/image_classification/android/README.md) on android studio and I get the following error.
E/AndroidRuntime: FATAL EXCEPTION: main Process: org.tensorflow.lite.examples.classification, PID: 18855 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.tensorflow.lite.examples.classification/org.tensorflow.lite.examples.classification.ClassifierActivity}: java.lang.ClassNotFoundException: Didn't find class "org.tensorflow.lite.examples.classification.ClassifierActivity" on path: DexPathList[[zip file "/data/app/org.tensorflow.lite.examples.classification-1/base.apk"],nativeLibraryDirectories=[/data/app/org.tensorflow.lite.examples.classification-1/lib/arm64, /data/app/org.tensorflow.lite.examples.classification-1/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2625) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2784) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1523) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:163) at android.app.ActivityThread.main(ActivityThread.java:6238) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) Caused by: java.lang.ClassNotFoundException: Didn't find class "org.tensorflow.lite.examples.classification.ClassifierActivity" on path: DexPathList[[zip file "/data/app/org.tensorflow.lite.examples.classification-1/base.apk"],nativeLibraryDirectories=[/data/app/org.tensorflow.lite.examples.classification-1/lib/arm64, /data/app/org.tensorflow.lite.examples.classification-1/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:380) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.app.Instrumentation.newActivity(Instrumentation.java:1079) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2615) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2784) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1523) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:163) at android.app.ActivityThread.main(ActivityThread.java:6238) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) I/Process: Sending signal. PID: 18855 SIG: 9
解决方案
If you download the project from github it has many subfolders that you don't need and some of them that you shouldn't use (eg. ios related folders). If you want to run the android version then in Android studio try to open the project not from the master folder, but from the following subpath:
examples-master/lite/examples/image_classification/android
then let gradle download all dependencies and build your project (Build -> Make Project
). If you're getting a "Select SDK" error when you're trying to run it, just do a File-> Sync project with gradle files
and you should be able to run it just fine after that!
推荐阅读
- python - Requests.get Json 格式。对我来说奇怪的输出
- sql - 列必须出现在 GROUP BY 子句中或用于内连接和外连接表的聚合函数中
- c++ - C++ - 将 std::exp 应用于 std::vector
- websocket - 在 Quart 中与 websocket 进行双向通信
- flutter - 颤振不变性
- javascript - React.JS - 在完整的应用程序中禁用右键单击但仅在某些页面中启用它
- javascript - Anime.js - 拖动滑块并更新旋转速度?
- python - 正则表达式跳过一位并提取所有
- excel - 使用 excel 宏获取 WeekNumber 的结束日期
- node.js - Kafka Stream 未在控制中心显示输出