Nexus 6 编译并刷机 Android 7.1.1 AOSP以及常用的修改源码快速验证方法

一、编译相关资源链接

设备硬件二进制文件
Android分支支持设备列表
搭建构建环境

初始化源码仓库

repo init -u https://android.googlesource.com/platform/manifest -b android-7.1.1_r57 --depth=1 --partial-clone --clone-filter=blob:limit=10M

二、ubuntu 20 编译环境

apt-get install default-jre
apt-get install libncurses5
apt-get install clang
apt-get install make
apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

三、常见错误以及解决方法

1. loadlocale.c:130错误
loadlocale.c:130: _nl_intern_locale_data: Assertion cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0])) failed.
export LANG=C
export LC_ALL=C
export LC_COLLATE=C
2. 关于jack-server的错误

Android7.0 配置JACK支持多用户同时编译
Android JACK 编译错误SSL error when connecting to the Jack server

3. stack frame size of bytes in function错误
修改 -Wframe-larger-than=6400

jdk版本一定要用jdk8

四、编译替换系统APK

编译完成后刷写
  1. adb reboot bootloader进入bootloader
  2. 双清原系统
  3. fastboot flashall -w

五、在开发阶段关闭dex2oat

1. 在当前module的Android.mk里关闭
LOCAL_DEX_PREOPT = false
2. 在build/core/main.mk中关闭所有module的dex优化
ifeq ($TARGET_BUILD_VARIANT), eng)
tags_to_install := debug eng
#关闭odex优化
WITH_DEXPREOPT := false

六、Framework定制

stop;start;  //软重启
$(gettop) //获取top目录

七、Native层定制

godir android_util_log.cpp //查找文件所在目录
stop;start; //重启
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值