Android系统——AOSP相关-->随记


杂记

android.bp 和android.mk 参与编译的jar包 路径--> out\target\common\obj\JAVA_LIBRARIES\
git diff ./ > a.patch git 拿到不同的改动 生成文件
mmma frameworks/base/packages/SystemUI/ > ../systemui.txt 编译文件

编译APK

解决方案:1.将apk作为文件编译复制进/system/app内 2,拿到源码,查看问题 解决 ,重新编译一个apk
copyFile apk利用PRODUCT_COPY_FILES 报错详解

方法1 》 使用双层文件夹/xx/Video/Video copy 待定
PRODUCT_COPY_FILES += $(call find-copy-subdir-files,,vendor/qcom/qualcomms/proprietary/packages/Video/,system/app)

方法2 》 shell命令 可以copy成功,但是最后build报mk语法的错误:missing separator还有一些奇怪的错误,也许这个东西不能放在它的Android.mk中
$(shell mkdir -p ${PATH}/system/etc/)源码编译的时候,先读取该mk文件,该目录还没创建,所以要建一个,否则拷贝失败。
$(shell cp -rf $(LOCAL_PATH)/usb_modeswitch ${OUT)}/system/etc/),然后通过shell拷贝任意文件。

shell 命令

#拷贝文件到指定目录并可重命名文件,指定的目录不存在的会自动创建,拷贝文件只能一个个调用
define product_copy_files
$(shell  mkdir -p  out/target/product/$(TT_PLATFORM)/$(2) ; \
         cp  -f $(1)  out/target/product/$(TT_PLATFORM)/$(2)/$(3) ;)
endef	

#拷贝文件到指定目录,不改变原来文件名称,可批量拷贝
define copy_libs_to_system
$(shell  mkdir -p  out/target/product/$(TT_PLATFORM)/$(2) ; \
         cp  -rf $(1)  out/target/product/$(TT_PLATFORM)/$(2)/  ;)
endef

android 11去除多余APP函数

第一步
\build\make\core 文件夹下 product.mk 新增命令:

# move unnecessary apps
_product_list_vars += PRODUCT_DEL_PACKAGES

\build\make\core 文件夹下main.mk ,仿写过滤

第三步:
调用该函数
在base.mk文件内
参考网址:base