Android编译记录
1、关注编译配置文件
Android.bp 或 Android.mk
Android.bp 文件格式
2、编译记录
2.1 设置构建环境
source build/envsetup.sh
lunch product_name-release-build_variant
查看当前的启动设置:$ echo "$TARGET_PRODUCT-$TARGET_BUILD_VARIANT"
Window上ubuntu子系统编译Android
build_variant | 说明 |
---|---|
user | 此 build 变体提供有限的安全访问权限,适用于生产环境。 |
userdebug | 此 build 变体可帮助设备开发者了解开发中版本的性能和功耗。使用 userdebug build 进行开发时,请遵循 userdebug 的准则。 |
eng | 此 build 变体的构建时间更短,如果您不在意性能和功耗,它最适合用于日常开发。 |
mmm
frameworks/base
frameworks/base下编译:mm
2.2 记录
make命令 | 代码路径 | 关注 |
---|---|---|
source build/envsetup.sh lunch qssi-userdebug | 构建环境配置 | |
make framework-minus-apex | frameworks/base/Android.bp | 替换验证需要删除system/framework中的arm和arm64下bootXXX文件 |
make services | frameworks/base/services/Android.bp | |
make framework-res | frameworks/base/core/res/Android.bp | |
make CarService | packages/services/Car/service-builtin/Android.bp | |
make android.car | packages/services/Car/car-lib/Android.bp | |
make selinux_policy | system/sepolicy/Android.bp | |
make libinputflinger | frameworks/native/services/inputflinger/Android.bp | |
make vold | system/vold/Android.bp | |
make MtpService | packages/services/Mtp/Android.bp | out/target/product/qssi/system/priv-app/MtpService/MtpService.apk |
make SystemUI | frameworks/base/packages/SystemUI/Android.bp | /system_ext/priv-app/SystemUI |
make Settings | packages/apps/Settings/Android.bp | |
make WallpaperPicker2 | packages/apps/WallpaperPicker2/Android.bp | /system_ext/priv-app/WallpaperPicker2/WallpaperPicker2.apk |
make ThemePicker | packages/apps/ThemePicker/Android.bp | /system_ext/priv-app/ThemePicker/ThemePicker.apk |
make SnapdragonCamera | vendor/priv-app/SnapdragonCamera/SnapdragonCamera.apk | |
make service-wifi | packages/modules/Wifi/service/Android.bp | system/apex/com.android.wifi/javalib/service-wifi.jar |
make ServiceWifiResources | packages/modules/Wifi/service/ServiceWifiResources/Android.bp | system/apex/com.android.wifi/priv-app/ServiceWifiResources@UKQ1.240510.002/ServiceWifiResources.apk |
3、错误记录
3.1 ‘reset --keep v2.46^0’ on repo failed
环境:win11上ubuntu子系统
3.2 Could not read from remote repository.
git checkout .
git pull