我在android studio上运行了一个Tensorflow示例(https://github.com/tensorflow/examples/blob/master/lite/examples/image_classification/android/README.md),并且出现以下错误。
E / Android运行时:致命异常:主要 流程:org.tensorflow.lite.examples.classification,PID:18855 java.lang.RuntimeException:无法实例化活动ComponentInfo {org.tensorflow.lite.examples.classification / org.tensorflow.lite.examples.classification.ClassifierActivity}: java.lang.ClassNotFoundException:找不到类 上的“ org.tensorflow.lite.examples.classification.ClassifierActivity” 路径:DexPathList [[zip文件 “ /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]] 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2625) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2784) 在android.app.ActivityThread.-wrap12(ActivityThread.java) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1523) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:163) 在android.app.ActivityThread.main(ActivityThread.java:6238) 在java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:933) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) 原因:java.lang.ClassNotFoundException:在以下位置找不到类“ org.tensorflow.lite.examples.classification.ClassifierActivity” 路径:DexPathList [[zip文件 “ /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]] 在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 在java.lang.ClassLoader.loadClass(ClassLoader.java:380) 在java.lang.ClassLoader.loadClass(ClassLoader.java:312) 在android.app.Instrumentation.newActivity(Instrumentation.java:1079) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2615) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2784) 在android.app.ActivityThread.-wrap12(ActivityThread.java) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1523) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:163) 在android.app.ActivityThread.main(ActivityThread.java:6238) 在java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:933) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) I / Process:正在发送信号。 PID:18855 SIG:9
答案 0 :(得分:0)
如果您从github下载该项目,则其中包含许多不需要的子文件夹,以及一些您不应该使用的子文件夹(例如ios相关文件夹)。如果要运行android版本,请尝试在Android Studio中不是从master文件夹而是从以下子路径打开项目:
examples-master/lite/examples/image_classification/android
然后让gradle下载所有依赖项并构建您的项目(Build -> Make Project
)。如果尝试运行时遇到“选择SDK”错误,只需执行File-> Sync project with gradle files
,之后就应该可以正常运行了!