您的位置:首页 > 其它

Ubuntu12.04下配置安卓源码编辑环境

2014-01-06 22:04 239 查看
(尽量使用root环境安装,部分文件可能存在权限问题,所以会意外报错退出)

需要的软件包:(使用root权限安装,请勿安装在)

python 2.6~2.7

make3.81~3.82

JDK 1.6

GIT 1.7

gcc >=4.4

下载源码

在root环境下安装需要的依赖包(Ubuntu 12.04)

$ sudo apt-get install git gnupg flex bison gperf build-essential \   zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \   libgl1-mesa-dev g++-multilib mingw32 tofrodos \   python-markdown libxml2-utils xsltproc zlib1g-dev:i386

$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so


如果报错,请先安装gcc:

apt-get gcc


如果下载的是源码(非copy),修改配置:

(如果都是在非root环境下进行,给jellybean所有文件加上可读可写的权限)

$ sudo chmod 777 jellybean/ -R

1、在build/target/board/generic/BoardConfig.mk文件中修改如下:

ifeq ($(HOST_OS),linux) WITH_DEXPREOPT := false (将true改为false) endif


2、在build/core/definitions.mk文件中,指定的那行 确保编译后hdpi,xhdpi等资源都被打包。

define add-assets-to-package

$(hide) $(AAPT) package -u $(PRIVATE_AAPT_FLAGS) \

$(addprefix -c , $(PRIVATE_PRODUCT_AAPT_CONFIG)) \

$(addprefix --preferred-configurations , $(PRIVATE_PRODUCT_AAPT_PREF_CONFIG)) \ (删除此行)

$(addprefix -M , $(PRIVATE_ANDROID_MANIFEST)) \ $(addprefix -S , $(PRIVATE_RESOURCE_DIR)) \

$(addprefix -A , $(PRIVATE_ASSET_DIR)) \


3、在build/core/proguard.flags文件中注释一行 

# Don't obfuscate. We only need dead code striping.

#-dontobfuscate (注释此行,确保混淆编译)

4、修改device/samsung/tuna/device.mk文件中的PRODUCT_AAPT_CONFIG,增加mdpi ldpi xxhdpi。

PRODUCT_AAPT_CONFIG := normal hdpi xhdpi mdpi ldpi xxhdpi (增加mdpi ldpi xxhdpi)


---------------------------------------------------------------------------------------------------------------------编译参数修改完毕。

编译整个ROM,需要整体编译一次(copy的也需要,一般只编译一次,除非rom更新)

时间略长:

$ . build/envsetup.sh (每次进入的时候运行)

$ lunch (select maguro)(每次进入的时候运行)

$ make -j8 (-j8 代表起8个线程) 或者使用 mm -B来编译

等待build成功.

成功后的apk将在out/target/product/maguro/system/app/*文件夹下(选择lunch不同输入位置也有可能不同:out/target/produce/generic/system/app/*)

对于lunch的选择:

有待深入研究.......

如过需要的没有出现在lunch列表中则在build/envsetup.sh中添加你想要的lunch

# add the default one here

add_lunch_combo full-eng

add_lunch_combo full_x86-eng

add_lunch_combo vbox_x86-eng
add_lunch_combo full_maguro-userdebug  #这个是我自己添加的


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: