Android 脚本操作
16lz
2021-01-23
一、实现 APK 拷贝功能的mk文件操作
############################################################# Find all of the apk files under the named directories.## Meant to be used like:## SRC_FILES := $(call all-apk-files-under,src tests)###########################################################define all-apk-files-under$(patsubst ./%,%, \ $(shell cd $(LOCAL_PATH)/$(1) ; \ find ./ -maxdepth 1 -name "*.apk" -and -not -name ".*") \ )endef################################################################################# add apk #################################################################################COPY_APK_TARGET := $(call all-apk-files-under,apk)PRODUCT_COPY_FILES += $(foreach apkName, $(COPY_APK_TARGET), \$(addprefix $(LOCAL_PATH)/apk/, $(apkName)):$(addprefix system/app/, $(apkName)))
首先是定义 all-apk-files-under函数,进入到第一个参数$(1)路径下,使用find命令进行查找到所有APK文件,利用foreach提取出每个文件名,拷贝到 system/app目录下
二、shell脚本选择编译不同版本的固件
#! /bin/bash echo "请选择编译的版本:" echo -e "1. "A" echo -e "2. "B" echo -e "3. 退出"echo -n "选择版本(1,2,3):" read WHO case $WHO in 1)echo -e "A --- 拷贝对应目录到device下 \n"rm -f ./device/amlogic/f16ref/apk/*cp ./device/amlogic/A/apk/* ./device/amlogic/f16ref/apk/cp ./device/amlogic/A/ui/*./device/amlogic/f16ref/ ;; 2)echo -e "B --- 拷贝对应目录到device下 \n"rm -f ./device/amlogic/f16ref/apk/*cp ./device/amlogic/B/apk/* ./device/amlogic/f16ref/apk/cp ./device/amlogic/B/ui/*./device/amlogic/f16ref/ ;; *)echo "退出" exit ;;esacecho -e "************** 拷贝结束,开始编译 ***************\n" . build/envsetup.shlunch 19make -j4echo "************** 编译结束 ****************\n"
三、wildcard、notdir、patsubst
1、wildcard : 扩展通配符
2、notdir : 去除路径
3、patsubst :替换通配符
用法参考:http://blog.sina.com.cn/s/blog_50dcb97b0100zj0j.html
更多相关文章
- 降低android版本
- android 获取SD卡的图片及其路径
- Android Studio生成APK文件名带上版本号等信息
- android 强制修改adb pull 文件的路径
- 关于android 调用系统图片浏览器并返回图片路径问题
- android 使用statfs获得文件路径可用空间大小的方法
- android Uri利用及解析(文件操作)以及与路径的相互转换