安装apk时出现错误Failure [INSTALL_FAILED_DEXOPT]问题解决的方法

在android4.0源码里面编译出来apk后,用adb install (或adb install -r 重装)安装时,报错[INSTALL_FAILED_DEXOPT]。

$ adb install out/target/product/generic/system/app/xxx.apk

Failure [INSTALL_FAILED_DEXOPT]
或者

$ adb install -r out/target/product/generic/system/app/xxx.apk

Failure [INSTALL_FAILED_DEXOPT]

原来在system\app下面的apk是经过优化的,而dex文件不会打包到apk中,dex文件会被优化后,生成odex文件。

下面就是程序编译之后,out/target/product/generic/system/app/下生成的.odex和.apk两个文件

Install: out/target/product/generic/system/app/xxx.odex
Install: out/target/product/generic/system/app/xxx.apk

这样安装apk时,就会缺少dex文件,导致报错[INSTALL_FAILED_DEXOPT]。


-->解决办法:

找到未优化过的apk,即在out/target/product/generic/obj/APPS/下找到对应的工程:

$ adb install out/target/product/generic/obj/APPS/xxx_intermediates/package.apk.unaligned

    pkg: /data/local/tmp/package.apk.unaligned
Success

----》另一种解决方法是:

编译一个完整的apk

需要修改Android.mk,在里面添加:

LOCAL_DEX_PREOPT := false



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值