说明:
之前一直认为将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]
AI 代码解读
错误原因:
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))
AI 代码解读
将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$
AI 代码解读