建设有地塞米松preOPT单独的Andr​​oid模块禁用 [英] Building separate Android modules with dexpreopt disabled

查看:439
本文介绍了建设有地塞米松preOPT单独的Andr​​oid模块禁用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有关我的论文,我修改了Android框架和构建源(4.1.1果冻豆)。 我可以做一个完整的构建,但由于这是非常耗时的(我开发的Ubuntu 12.04 64位虚拟机上),我想建立单独的模块。

For my thesis, I'm modifying the android framework and building the source (4.1.1 Jelly Bean). I can do a full build, but because this is very time consuming (I'm developing on a ubuntu 12.04 64bit virtual machine) I'd like to build separate modules.

例如: 当这样做改变的位置的模块,它应该有可能只是建立更改后的模块,并进行了新的系统映像:

For example: When doing changes to the location modules, it should be possible to just build the changed module, and make a new system image:

mmm frameworks/base
make snod

但是,这并不正常工作。每次我尝试启动,新的系统映像不会因为启动:

But this doesn't work. Every time I try to boot, the new system image won't boot because of:

I/dalvikvm( 1696): DexOpt: mismatch dep signature for '/system/framework/framework.odex'

经过一番研究,我试图禁用DEX preOPT与环境变量

After some research, I tried to disable dexpreopt with the enviroment variables

export $WITH_DEXPREOPT=false 

export $DISABLE_DEXPREOPT=true 

和做与让installclean完全重建。完整的重建工程,以及更改框架是present在构建。但在做一个新的变化,仍然是MMM框架/基地和让snod后导致DEX preOPT不匹配。

and doing a full rebuild with 'make installclean'. The full rebuild works, and the changes to the framework are present in the build. But after doing a new change, still 'mmm frameworks/base' and 'make snod' result in dexpreopt mismatch.

这是让snod构建/核心/ Makefile中也给出了警告:警告:地塞米松preOPT启用,您可能需要完全重建。,这是从该行的生成文件:

The build/core/makefile from 'make snod' also gives the warning: 'Warning: with dexpreopt enabled, you may need a full rebuild.', which comes from this line in the makefile:

ifeq (true,$(WITH_DEXPREOPT))
$(warning Warning: with dexpreopt enabled, you may need a full rebuild.)
endif

这使我相信在$ WITH_DEX preOPT变量未正确设置或读取? 到目前为止,我还没有能够得到一个可引导的系统映像没有做一个干净的完全重建。是我的程序遵循正确的禁用DEX preOPT,还是有什么其他的方式做更改框架和获取新的系统映像后,建立独立的模块?

This leads me to believe the $WITH_DEXPREOPT variable isn't correctly set or read? So far I haven't been able to get a bootable system image without doing a clean full rebuild. Is the procedure I follow the correct to disable dexpreopt, or are there any other ways to build separate modules after doing changes to the framework and getting a new system image?

构建目标是全ENG。

推荐答案

显然,WITH_DEX preOPT环境变量是由内部WITH_DEX preOPT变量

Apparently the WITH_DEXPREOPT environment variable is overwritten by an internal WITH_DEXPREOPT variable in

build/target/board/generic/BoardConfig.mk

更改为false,或者根据人们在谷歌群体,从一个做:

Changing this to false, or according to the people at google groups, starting a make with:

make showcommands WITH_DEXPREOPT=false

的伎俩。建立一个特定的模块,使新的系统映像,现在导致启动建设。

does the trick. Building a specific module and making a new system image now results in a bootable build.

(来源:<一href="https://groups.google.com/d/topic/android-building/vJCkg8Yq9Ic/discussion">https://groups.google.com/d/topic/android-building/vJCkg8Yq9Ic/discussion )

这篇关于建设有地塞米松preOPT单独的Andr​​oid模块禁用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆