这种方法仅仅适合有内置存储的情况,至于和平分区的不在考虑之列

1 在vendor/sprd下新建一个目录built_in_video 里边放置要内置的视频文件及copy脚步

脚步例如以下:internal_media.mk

LOCAL_PATH:= vendor/sprd/built_in_video



PRODUCT_COPY_FILES += \

    $(LOCAL_PATH)/media/Girs_Gee_0.mp4:system/preloadvideo/Girs_Gee_0.mp4

把这个internal_media.mk include到主mk中

include vendor/sprd/built_in_video/internal_media.mk

2  在vendor/sprd/open-source/tools新建目录preloadvideo里边放置载入内置U盘后把system/preloadvideo/Girs文件拷贝到内置U盘中

Android.mk例如以下

LOCAL_PATH:= $(call my-dir)



include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_MODULE := preloadvideo.sh

LOCAL_MODULE_CLASS := EXECUTABLES

LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)

LOCAL_SRC_FILES := preloadvideo.sh

include $(BUILD_PREBUILT)

#!/system/bin/sh

PRELOAD_DEST=/storage/sdcard0/Movies

PRELOAD_FLAG=${PRELOAD_DEST}/preloadvideo

PRELOAD_SOURCE=/system/preloadvideo



if [ ! -d ${PRELOAD_DEST} ]

then

    mkdir -p ${PRELOAD_DEST}

fi



if [ ! -f ${PRELOAD_FLAG} ]

then

    files=$(ls ${PRELOAD_SOURCE}/)

    for i in ${files};do

        cat  ${PRELOAD_SOURCE}/${i} > ${PRELOAD_DEST}/${i}

    done

    echo "abcd" > ${PRELOAD_FLAG}

fi



在主project主mk中加入

PRODUCT_PACKAGES += \

preloadvideo.sh

3   在和projectmk同样的目录下的init.board.rc

service preloadvideo /system/bin/logwrapper /system/xbin/preloadvideo.sh

        class main

        disabled

        oneshot

preloadvideo.sh

4   frameworks/base/services/java/com/android/server/MountService.java

在方法notifyVolumeStateChange

else if (newState == VolumeState.Mounted) {

            if (DEBUG_EVENTS) Slog.i(TAG, "updating volume state mounted");

            updatePublicVolumeState(volume, Environment.MEDIA_MOUNTED);

            action = Intent.ACTION_MEDIA_MOUNTED;

            android.os.SystemProperties.set("ctl.start", "preloadvideo");

这个是载入内置存储的时候执行service   preloadvideo把视频拷贝到内置存储中

andrdoid内置视频文件的更多相关文章

  1. Eclipse spket插件 内置js文件

    这一篇将怎么在spket内置js文件,而不用用户自己去添加.    1. 在开发的Eclipse的 运行配置将下面几个插件勾选上.     2. 在org.eclipse.ui.startup拓展里执 ...

  2. wpf中内置资源文件

    wpf中包含三种文件类型 资源文件:编译到可执行或库 WPF 程序集中的数据文件. 内容文件:与可执行 WPF 程序集具有显式关联的独立数据文件. 源站点文件:与可执行 WPF 程序集没有关联的独立数 ...

  3. python基础(内置函数+文件操作+lambda)

    一.内置函数 注:查看详细猛击这里 常用内置函数代码说明: # abs绝对值 # i = abs(-123) # print(i) #返回123,绝对值 # #all,循环参数,如果每个元素为真,那么 ...

  4. 第三天 函数 三元运算 lambda表达式 内置函数 文件操作

    面向过程: 直接一行一行写代码,遇到重复的内容复制黏贴. 不利于代码阅读 代码没有复用 面向对象 将代码块定义为函数,以后直接调用函数 增强了复用性 函数的定义方法 def 函数名(传递参数): 函数 ...

  5. python匿名函数 高阶函数 内置函数 文件操作

    1.匿名函数 匿名就是没有名字 def func(x,y,z=1): return x+y+z 匿名 lambda x,y,z=1:x+y+z #与函数有相同的作用域,但是匿名意味着引用计数为0,使用 ...

  6. android 内置视频目录

    在做引导界面的时候有一个视频文件, 把它放在res/raw目录下面. 引用方法 如下: videoView = (VideoView) findViewById(R.id.video_view); v ...

  7. IIS虚拟目录内的视频文件访问出错:HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

    MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开.多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式. 我是 ...

  8. Python3入门系列之-----内置的文件操作模块OS

    前言 在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),经常要对大量文件和大量路径进行操作,这个时候就需要用到os模块. 使用前 ...

  9. 存储、读取——Android应用程序内置的文件夹

    1.将数据存储到应用程序的文件夹,并读写 Context提供了两个方法,打开应用程序文件夹的I/O,若文件不存在则创建 FileInputStream openFileInputStream(Stri ...

随机推荐

  1. windows 7 提示缺少D3DCOMPILER_47.dll的正确解决方法

    下载 KB4019990补丁 我上传一下吧. 点击下载

  2. WIFEXITED WEXITSTATUS WIFSIGNALED(转)

    wait的函数原型是: #include #include pid_t wait(int *status) 进 程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出 ...

  3. 基于24位AD转换模块HX711的重量称量实验(已补充皮重存储,线性温度漂移修正)

    转载:http://www.geek-workshop.com/thread-2315-1-1.html 以前在X宝上买过一个称重放大器,180+大洋.原理基本上就是把桥式拉力传感器输出的mV级信号放 ...

  4. window 10 企业版激活

    一. 用管理员权限打开CMD.EXE 接着输入以下命令: slmgr /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43 弹出窗口提示:“成功的安装了产品密钥”. 继续输入以下命令: ...

  5. intellij idea 双击选中一个变量而不是单词

    在keymap 里搜索 select Word at caret ,然后双击并在弹出选项里选add mouse shortcut,然后选double click,再在下面click pad 区域点一下 ...

  6. Php廖雪峰教程学习与实战

    https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 目录 Python教程 Pyth ...

  7. 【jquery】$(document).ready() 与window.onload的区别

    Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的. 1)执行时间  wind ...

  8. Kibana常用命令

    一.范围(>500) totalTime: [500 TO *] 二.不等于 NOT monitorName: "XXX" 三.字符匹配 正则表达式:    +url:/.* ...

  9. nodejs的Express框架源码分析、工作流程分析

    nodejs的Express框架源码分析.工作流程分析 1.Express的编写流程 2.Express关键api的使用及其作用分析 app.use(middleware); connect pack ...

  10. [转] JDBC中的Statement和PreparedStatement的区别

    以Oracle为例吧 Statement为一条Sql语句生成执行计划,如果要执行两条sql语句select colume from table where colume=1;select colume ...