如何在没有odex的情况下构建CM系统应用?

时间:2012-02-17 05:28:24

标签: android cyanogenmod

当我构建CM7的系统应用程序(例如ADWLauncher)时,我切换到ADWLauncher的文件夹并运行“mm”命令,然后我得到.apk和.odex文件,我怎样才能获得带有dex的.apk文件它。我的意思是我应该更改Android.mk或generic.mk中的某个地方,让编译只是结果apk文件,它可以直接安装。

3 个答案:

答案 0 :(得分:2)

试试这个<motor-node> createdCallback()

答案 1 :(得分:1)

您可以使用可以组合odex和apk文件的backsmali

baksmali -a [api_level] -x [odex_file] -d [framework_dir]

或者更改

中的WITH_DEXPREOPT环境变量
build/target/board/generic/BoardConfig.mk

答案 2 :(得分:0)

这种情况经常发生(至少对我来说)当我没有宣布我用breakfast构建的设备时。例如,在未运行breakfast hammerhead的情况下,我在输出目录中获得了Dialer.apkarm/Dialer.odex。此外,即使将.odex文件放在适当的位置,设备也拒绝运行二进制文件。

首先运行breakfast会导致make生成一个正确安装Dialer.apk的正确adb root(使用remount / push / {{1}})我的设备。