Android adb install INSTALL_FAILED_DEXOPT

说明:

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

错误现象:

c:Userszengjf>adb install C:UserszengjfDesktopEthernetAutoConf.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$
原文地址:https://www.cnblogs.com/zengjfgit/p/5443530.html