Android adb install INSTALL_FAILED_DEXOPT

时间:2023-03-08 20:02:09

说明:

之前一直认为将eclipse的Android项目直接cp到Android源码下编译就行了,实际情况是还要注意其他的文件架构。

错误现象:

c:\Users\zengjf>adb install C:\Users\zengjf\Desktop\EthernetAutoConf.apk
603 KB/s (15442 bytes in 0.025s)
pkg: /data/local/tmp/EthernetAutoConf.apk
Failure [INSTALL_FAILED_DEXOPT]

错误原因:

Android.mk

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional # 注意这里,目录是com,默认是src
LOCAL_SRC_FILES := $(call all-java-files-under, com) LOCAL_PACKAGE_NAME := ethernet
LOCAL_CERTIFICATE := platform include $(BUILD_PACKAGE) # Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))

将eclipse中的Android项目放到Android源代码中编译,要将com目录从src目录中拿出来,而且其他的目录都可以删除:

myzr@myzr:~/myandroid/packages/apps/EthernetAutoConf$ ls
AndroidManifest.xml com proguard-project.txt res
Android.mk ic_launcher-web.png project.properties src
myzr@myzr:~/myandroid/packages/apps/EthernetAutoConf$