【发布时间】:2017-05-22 20:24:23
【问题描述】:
我一直在尝试让this TensorFlow project 在我的 Galaxy S3(Android 4.4.2,API 19)上运行。
我已经成功地在我的笔记本电脑上运行了 python 代码,没有任何问题。
为了让项目编译并复制到我的手机,我必须在 Android Studio 中将 Min Sdk 版本设置为 API 19。我是通过“项目结构”对话框完成的,而不是试图弄乱 Gradle 代码。
当我进行这一更改时,项目编译时在 Android Studio 中仅出现轻微警告,生成的 APK 会复制并安装在手机上。
但是,每次我尝试运行该应用程序时,它都会立即崩溃,并在调试控制台中生成以下代码:
709-709/org.tensorflow.demo E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.tensorflow.demo, PID: 709
java.lang.NoClassDefFoundError: android.util.Size
at org.tensorflow.demo.ClassifierActivity.<clinit>(ClassifierActivity.java:74)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1208)
at android.app.Instrumentation.newActivity(Instrumentation.java:1067)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2244)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2386)
at android.app.ActivityThread.access$900(ActivityThread.java:169)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1277)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5476)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at dalvik.system.NativeStart.main(Native Method)
一些 GitHub 线程告诉我,这可能与不同版本之间手机摄像头 API 的差异有关,但我似乎无法确定问题所在。有人知道解决方法吗?
【问题讨论】:
-
根据错误消息:java.lang.NoClassDefFoundError: android.util.Size 我猜你必须在它调用的地方导入 android.util.Size。
标签: android tensorflow