Android内置音频文件
来源:互联网 发布:开淘宝店需要上传照片 编辑:程序博客网 时间:2024/05/18 03:43
1、在vendor/Tecnon_BuildIn下新建preloadfiles文件夹,里面放置要内置的音频文件和copy脚本,copytosystem.mk脚本如下:
LOCAL_PATH:= vendor/Tecnon_BuildIn/preloadfilesPRODUCT_COPY_FILES += \ $(LOCAL_PATH)/music/Go_On.mp3:system/preloadmusic/Go_On.mp3 \ $(LOCAL_PATH)/music/Red.mp3:system/preloadmusic/Red.mp3 \ $(LOCAL_PATH)/music/Salamalekun.mp3:system/preloadmusic/Salamalekun.mp3
preloadfiles文件夹的Android.mk编译脚本为:
LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_MODULE := preloadfile.shLOCAL_MODULE_CLASS := EXECUTABLESLOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)LOCAL_SRC_FILES := preloadfile.shinclude $(BUILD_PREBUILT)
preloadfiles.sh脚本为:
#!/system/bin/shPRELOAD_DEST=/storage/sdcard0#preload videoPRELOADVIDEO_DEST=${PRELOAD_DEST}/MoviesPRELOADVIDEO_FLAG=${PRELOADVIDEO_DEST}/.videocopiedPRELOADVIDEO_SRC=/system/preloadvideoif [ ! -d ${PRELOADVIDEO_DEST} ]then mkdir -p ${PRELOADVIDEO_DEST}fiif [ ! -f ${PRELOADVIDEO_FLAG} ]then files=$(ls ${PRELOADVIDEO_SRC}/) for i in ${files};do cat ${PRELOADVIDEO_SRC}/${i} > ${PRELOADVIDEO_DEST}/${i} done echo "aaaa" > ${PRELOADVIDEO_FLAG}fi#preload musicPRELOADMUSIC_DEST=${PRELOAD_DEST}/MusicPRELOADMUSIC_FLAG=${PRELOADMUSIC_DEST}/.musiccopiedPRELOADMUSIC_SRC=/system/preloadmusicif [ ! -d ${PRELOADMUSIC_DEST} ]then mkdir -p ${PRELOADMUSIC_DEST}fiif [ ! -f ${PRELOADMUSIC_FLAG} ]then files=$(ls ${PRELOADMUSIC_SRC}/) for i in ${files};do cat ${PRELOADMUSIC_SRC}/${i} > ${PRELOADMUSIC_DEST}/${i} done echo "aaaa" > ${PRELOADMUSIC_FLAG}fi#preload picturePRELOADPIC_DEST=${PRELOAD_DEST}/PicturesPRELOADPIC_FLAG=${PRELOADPIC_DEST}/.piccopiedPRELOADPIC_SRC=/system/preloadpicif [ ! -d ${PRELOADPIC_DEST} ]then mkdir -p ${PRELOADPIC_DEST}fiif [ ! -f ${PRELOADPIC_FLAG} ]then files=$(ls ${PRELOADPIC_SRC}/) for i in ${files};do cat ${PRELOADPIC_SRC}/${i} > ${PRELOADPIC_DEST}/${i} done echo "aaaa" > ${PRELOADPIC_FLAG}fi
preloadfiles.te策略文件路径:device\mediatek\common\sepolicy\basic
# ==============================================# Policy File of /system/xbin/preloadfile Executable File# ==============================================# Type Declaration# ==============================================type preloadfile_exec , exec_type, file_type;type preloadfile ,domain;# ==============================================# MTK Policy Rule# ==============================================init_daemon_domain(preloadfile)#binder_use(preloadfile)#binder_service(preloadfile)# permission for android N policyallow preloadfile toolbox_exec:file {rx_file_perms};# purpose: allow preloadfile to access storage in N versionallow preloadfile media_rw_data_file:dir {create_dir_perms};allow preloadfile media_rw_data_file:file { create_file_perms };allow preloadfile mnt_user_file:dir {create_dir_perms};allow preloadfile mnt_user_file:lnk_file {create_file_perms };allow preloadfile fuse:dir {create_dir_perms};allow preloadfile fuse:file {create_file_perms};allow preloadfile sdcardfs:dir {create_dir_perms};allow preloadfile sdcardfs:file {create_file_perms};allow preloadfile shell_exec:file {rx_file_perms};allow preloadfile storage_file:lnk_file {create_file_perms };allow preloadfile tmpfs:dir{create_dir_perms};allow preloadfile tmpfs:file{create_file_perms};allow preloadfile system_file:dir{read open};allow preloadfile system_file:file{read open};
在te策略文件同级路径下的file_contexts文件里添加如下一行:
/system/xbin/dingyufile.sh u:object_r:dingyufile_exec:s0
把这个mk文件和sh脚本添加到device.mk文件中:device\mediatek\common\device.mk
$(call inherit-product-if-exists, vendor/Tecnon_BuildIn/preloadfiles/copytosystem.mk)PRODUCT_PACKAGES += preloadfile.sh
2、在init.project.rc文件中添加:
service preloadfile /system/xbin/preloadfile.sh class main oneshot disabled seclabel u:r:preloadfile:s0
3、frameworks\base\services\core\java\com\android\server\MountService.java类的MountServiceHandler中H_VOLUME_BROADCAST选项下添加:
android.os.SystemProperties.set("ctl.start", "preloadfile");
加载内置存储的时候运行service preloadfile,就可以把音频复制到内部存储中
阅读全文
1 0
- Android内置音频文件
- Android定制--------系统内置文件,用到linux服务(视频文件、音频文件等)
- 实现base64格式的amr音频文件在IOS、android微信内置浏览器的播放
- Android播放音频文件
- android 播放音频文件
- Android合并音频文件
- android 音频文件下载
- Android 播放音频文件
- Android-播放音频文件
- 【转】android播放音频文件
- android播放音频文件
- 音频文件
- 音频文件
- 音频文件
- 【Android】AudioTrack播放caf音频文件
- Android音频文件浏览+音频播放
- Android 加密/解密音频文件(AES)
- Android 获取本地所有音频文件
- Adreno GPU Profiler工具使用总结
- 右键打开命令行窗口CMD
- CCF 2016 工资计算C++,Java,工资计算解题思路
- 音视频封装格式、编码格式知识
- 一级指针
- Android内置音频文件
- js 数组去重
- phpstorm使用zen coding 快速编辑补全html/css代码
- FLV视频文件格式分析
- spark standalone深入学习-核心概念\启动过程\服务down掉说明
- Oracle的取整和四舍五入函数——floor,round,ceil,trunc使用说明
- 提升自我认知第一天
- windows 下 apache 部署 django python3.6
- 修复Steam游戏库路径关联