Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> andrdoid內置視頻文件

andrdoid內置視頻文件

編輯:關於Android編程

這個方法只適合有內置存儲的情況,至於和平分區的不在考慮之列

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

在主工程主mk中添加

PRODUCT_PACKAGES += \

preloadvideo.sh

 

3 在和工程mk相同的文件夾下的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把視頻復制到內置存儲中

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved