据说在android SDK 4.0.3及以上进行源码编译会生成一个apk文件和一个odex文件。
我的是MX平台 SDK 4.2 确实是这样的。
在进行源码编译时,会在"Z:\normal_ott\out\target\product\g18ref\system\app"生成一个apk文件和一个odex文件,是因为系统对class.dex文件进行了优化。但这样的apk是无法安装的,会提示"Failure [INSTALL_FAILED_DEXOPT]"。
解决办法:安装"Z:\normal_ott\out\target\product\g18ref\obj\APPS\SetsDemo_intermediates\package.apk.unaligned"文件,它的dex文件未被优化。
还有的网上资料说在Android.mk文件中加入“LOCAL_DEX_PREOPT := false”和“WITH_DEXPREOPT := false”就不会生成odex文件。
经过测试,“LOCAL_DEX_PREOPT := false”不管用;而加入“WITH_DEXPREOPT := false”确实不会生成odex文件,但apk中还是没有class.dex文件,所以apk没法安装。