jQuery鼠标指针特效

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 编译文件

高效抓取日志

adb shell logcat > d:/0819.log
logcat -v time | grep "select_device" 遍历筛选
adb shell logcat -s CommandParser 只抓取-s 后面的标签的日志:(-s 类名)

关于路径

./build/make/core/envsetup.mk //路径的定义

# TARGET_COPY_OUT_* are all relative to the staging directory, ie PRODUCT_OUT.
# Define them here so they can be used in product config files.
TARGET_COPY_OUT_SYSTEM := system
TARGET_COPY_OUT_SYSTEM_OTHER := system_other
TARGET_COPY_OUT_DATA := data
TARGET_COPY_OUT_ASAN := $(TARGET_COPY_OUT_DATA)/asan
TARGET_COPY_OUT_OEM := oem
TARGET_COPY_OUT_RAMDISK := ramdisk
TARGET_COPY_OUT_DEBUG_RAMDISK := debug_ramdisk
TARGET_COPY_OUT_VENDOR_DEBUG_RAMDISK := vendor_debug_ramdisk
TARGET_COPY_OUT_TEST_HARNESS_RAMDISK := test_harness_ramdisk
TARGET_COPY_OUT_ROOT := root
TARGET_COPY_OUT_RECOVERY := recovery

编译APK

解决方案:1.将apk作为文件编译复制进/system/app内 2,拿到源码,查看问题 解决 ,重新编译一个apk
[copyFile](http://t.zoukankan.com/codeking100-p-10309929.html) 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拷贝任意文件。

//如果copy apk报错
修改build\core\Makefile,注释掉check-product-copy-files的定义
#define check-product-copy-files
#$(if $(filter-out $(TARGET_COPY_OUT_SYSTEM_OTHER)/%,$(2)), \
#  $(if $(filter %.apk, $(2)),$(error \
#     Prebuilt apk found in PRODUCT_COPY_FILES: $(1), use BUILD_PREBUILT instead!)))
#endef


//如果copy .so报错(Android T)
build/make/core/Makefile

 check-elf-prebuilt-product-copy-files:
 
-check_elf_prebuilt_product_copy_files := true
-ifneq (,$(filter true,$(BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES)))
-check_elf_prebuilt_product_copy_files :=
-endif
+# check_elf_prebuilt_product_copy_files := true
+# ifneq (,$(filter true,$(BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES)))
+# check_elf_prebuilt_product_copy_files :=
+# endif
 check_elf_prebuilt_product_copy_files_hint := \

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

//使用 demo.mk
$(call xy_product_copy_files,vendor/mediatek/proprietary/packages/demo/text/text.apk,system/app/text,text.apk)

copy so
Android mk文件拷贝第三方库到系统编译目录
Android 不同版本通过mk拷贝并安装APK
PRODUCT_COPY_FILES拷贝文件或文件夹

android 11去除多余APP函数

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

# move unnecessary apps
_product_list_vars += PRODUCT_DEL_PACKAGES

--- a/build/make/core/main.mk
+++ b/build/make/core/main.mk
@@ -1269,6 +1269,7 @@ define product-installed-files
   $(eval ### Filter out the overridden packages and executables before doing expansion) \
   $(eval _pif_overrides := $(call module-overrides,$(_pif_modules))) \
   $(eval _pif_modules := $(filter-out $(_pif_overrides), $(_pif_modules))) \
+  $(eval _pif_modules := $(filter-out $(PRODUCT_DEL_PACKAGES), $(_pif_modules))) \
   $(eval ### Resolve the :32 :64 module name) \

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

第三步:
调用该函数
在base.mk文件内
参考网址:base
专家
Android13 系统裁剪

posted @ 2021-12-16 17:41  僵小七  阅读(371)  评论(0编辑  收藏  举报