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,就可以把音频复制到内部存储中

原创粉丝点击