在 AOSP 中构建 framework.jar

Building framework.jar in AOSP

我正在尝试从 android-x86 aosp 构建一个 framework.jar,但是 'mm' 在 /frameworks/base return "No such file or directory" 中。而且我还尝试了 "make framework" 但之后 framework.jar 大小为 300 字节。我尝试 "make modules" 获取框架模块名称,但列表太长了。可能有人知道构建完成的模块名称是什么 framework.jar ?

更新:我不知道为什么 mm 和 mmm 对我不起作用,但我知道 "make framework" 在 android 5.0 java [=30 之后可以正常工作=] 在 ART .oat 和 .odex 文件中编译。但是我尝试从 dalvik 中反转具有 framework.jar 的模拟器 framework.jar,其中包含 .dex 文件。当我比较构建文件和模拟器文件时,它让我感到困惑。

从 AOSP 主目录尝试 运行 下面的命令:

mmm frameworks/base/

通过此命令首次设置环境:

source build/setupenv.sh 

第二顿午餐你的目标

lunch your-target 

第三次使用此命令构建framework.jar

mmm framework/base

if you have any problem or error , clean the source directory first and then run the third command

make clean 

首先,你应该在 ~/.bashrc 的时候拥有这些,并且做一个完整的 build/flash。否则仅制作和构建部分框架将导致设备无法启动。这些将导致第一次启动稍微慢一些,因为 pre-optimizations 没有在构建时完成。

export WITH_DEXPREOPT=false 
export DISABLE_DEXPREOPT=true
export DEX_PREOPT_DEFAULT=nostripping

下个版本,你可以运行

source build/setupenv.sh 
lunch XXXXX-userdebug 
make framework

并在设备上更新

adb root
adb remount
adb sync
adb reboot