近日用eclipse调试tensorflow在Android的应用出现“libandroid_tensorflow_inference_java.jar Conversion to Dalvik format failed with error 1”的错误,so文件放在libs目录下没问题,这个jar就不行,我的解决办法是,换了jdk7版本的so和jar文件,就好了,否则就报上面这个错误。可以参考这篇文章:http://www.codeclip.com/4099.html
以下还有网上搜来的几种情况及解决办法留作备用吧:
原因一:由于引用的Jars不正确导致的
1、右键项目 -> Properties -> Java Build Path -> Libraries -> 移除所有Jar文件,然后点确定
2、右键项目 -> Fix Project Properties
3、Clean
重新编译运行。
原因二:由于引用的Jars路径改变了导致的:
比如,从网络下载的项目源码,或者从其它电脑上拷过来的项目源码,由于原项目存储的位置与当前的位置不同,项目中引用的Jar文件路径不正确,解决办法:
1、右键项目 -> Properties -> Java Build Path -> Libraries ->选中指定的Jar,然后点“Edit”,重新选择Jar文件所在的路径位置;
2、确定保存;
3、Clean
重新编译运行。
原因三:构建路径所需的对象
右键项目 -> Properties -> JavaBuildPath -> Projects,在”Required objects on the build path:”里面添加所需的Library。
原因四:由[Android SDK 安装目录]\tools\proguard\bin\proguard.bat文件里面的ProGrard命令行导致的问题:
编辑下面的行会解决这个问题:
将
call %java_exe%–jar“%PROGUARD_HOME%”\lib\proguard.jar%*
改为
call %java_exe% -jar “%PROGUARD_HOME%”\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
原因五:用的ADT 12+版本,需要将proguard的版本从4.4升级到4.6:
删除[Android SDK 安装目录]\tools\proguard\lib\proguard.bat文件,然后重新下载4.6版本的文件并拷贝到[Android SDK 安装目录]\tools\proguard\lib\目录下
原因六:ADT版本不兼容:
1、在您的应用程序项目,检查任何链接指向库项目的源文件夹(它们的名称的形式“LibraryName_src”)。
2、选择所有项目,单击鼠标右键,选择”Build Path”->”Remove from Build Path”。
3、选择“Also unlink the folder from the project”,并单击“Yes”。
4、Clean,重建和重新部署该项目。