【问题标题】:(TensorflowLite/Android) Unable to instantiate activity ComponentInfo(TensorflowLite/Android) 无法实例化活动组件信息
【发布时间】:2019-11-06 11:09:15
【问题描述】:

我在 android studio 上运行了一个 Tensorflow 示例 (https://github.com/tensorflow/examples/blob/master/lite/examples/image_classification/android/README.md),但出现以下错误。

E/AndroidRuntime: 致命异常: main 进程: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" on 路径: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

【问题讨论】:

  • 请在此处提供您的活动代码,并准确说明是哪个代码块导致此问题。这个日志还不够。
  • 你能描述一下从克隆 github repo 到出现错误消息的所有步骤吗?
  • 我克隆了这个例子,我把它导入了 android File ->Open->\examples-master\examplesmaster\lite\examples\image_classification\android\app\src\mainstudio 然后我运行它我收到了这条消息
  • 尝试使用我的答案中的路径导入它,该路径与 android 文件夹一起停止并且不进入 src 文件夹。我已经尝试了两次,它在我的笔记本电脑上运行良好。
  • @NikosHidalgo File->C:\examples-master\lite\examples\image_classification\android 这就是我的路径。能告诉我安卓版本吗?当我构建项目时,一切顺利,当我运行它时,它无法在模拟器或我的设备上安装它。

标签: java android class tensorflow-lite


【解决方案1】:

如果您从 github 下载该项目,它有许多您不需要的子文件夹和一些您不应该使用的子文件夹(例如 ios 相关文件夹)。如果您想运行 android 版本,则在 Android Studio 中尝试打开项目,而不是从主文件夹,而是从以下子路径:

examples-master/lite/examples/image_classification/android

然后让 gradle 下载所有依赖项并构建您的项目 (Build -> Make Project)。如果您在尝试运行时遇到“选择 SDK”错误,只需执行 File-> Sync project with gradle files 之后您应该就可以正常运行了!

【讨论】:

  • 我已经以这种方式运行它,但仍然收到相同的消息。实际上,该应用程序正在我的 Xaiomi Redmi 上下载,但是当它打开 chashes 时出现相同的错误。
  • @AnatoliStampolou 你在模拟器上试过了吗?因为它在我的身上工作得很好。另外,您是否对项目本身进行了任何更改?
  • 不,我没有做任何更改,也没有在模拟器上运行它,我现在就试试。
  • 我已经做了一个模拟器,但是我在运行项目时仍然遇到问题,你知道吗?
猜你喜欢
  • 2011-09-20
  • 1970-01-01
  • 2015-05-06
  • 1970-01-01
  • 2013-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-10
相关资源
最近更新 更多