编译一个deodexed AOSP?

时间:2011-12-28 20:38:27

标签: android android-source

我正在尝试为我的GSM Galaxy Nexus(maguro)编译一个deodexed aosp。我在谷歌搜索,没有结果。似乎没有允许编译deodexed系统的标志。

但是在makefile build / core / main.mk中我发现了这个:

   ## precise GC ##

ifneq ($(filter dalvik.gc.type-precise,$(PRODUCT_TAGS)),)
  # Enabling type-precise GC results in larger optimized DEX files.  The
  # additional storage requirements for ".odex" files can cause /system
  # to overflow on some devices, so this is configured separately for
  # each product.
  ADDITIONAL_BUILD_PROPERTIES += dalvik.vm.dexopt-flags=m=y
endif

有什么想法吗?感谢

3 个答案:

答案 0 :(得分:11)

要实际获得一个deodexed版本,我必须定义它们:

export DISABLE_DEXPREOPT=true
export WITH_DEXPREOPT=false

然后'make clean'。

或者我也试过这个:

make DISABLE_DEXPREOPT=true WITH_DEXPREOPT=false -j8 otapackage

答案 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)

您应该编写一个使用smali的shell脚本(或者在Windows上使用xUltimate)。