a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 系統 > Android > 正文

Andorid 系統實現多種開機動畫和logo切換功能

2019-10-21 21:34:30
字體:
來源:轉載
供稿:網友

前言

基于mtk6580,添加多logo和開關機動畫切換

描述

目前android開機畫面由三個部分(階段)組成,第一部分在bootloader啟動時顯示(靜態),第二部分在啟動kernel時顯示(靜態),第三部分在系統啟動時(bootanimation)顯示(動畫)。

添加資源

1.在device/tangxun/tx6580_weg_m/ProjectConfig.mk,找到BOOT_LOGO=這項,記住這項內容(如hd720,),在vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/目錄下找到BOOT_LOGO=對應的文件夾把你的圖片放進去,圖片我是這樣命名的hd720_kernel_i7.bmp.(如果你只是替換的話更換hd720_kernel.bmp和hd720_uboot.bmp這兩張圖片即可,新圖片的名字需與舊圖片一致)

2.在vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/rules.mk下修改RESOURCE_OBJ_LIST列表,如圖:

Andorid,開機動畫,logo

最后兩項就是我添加的

3.同目錄下update文件中添加

Andorid,開機動畫,logo

添加標識區分不同logo

思路:首先我們添加的標識,不能被輕易清除,包括恢復出廠設置情況下。所以我選擇在protect_f分區下創建空文件的方式,在show logo的時候判斷相應文件是否存在,來展示不同的logo和動畫。

1.選擇一種要展示的logo和動畫,在protect_f分區下創建.dat后綴的文件,刪除其他類型動畫在protect_f分區下的相應文件

private void createOrDeleteFile(String str){  String sDir = "/protect_f";  File fDir = new File(sDir);  if (fDir.exists()){   try {    Runtime.getRuntime().exec("chmod 777"+sDir);   } catch (IOException e) {    e.printStackTrace();   }  }  File mFile = new File(sDir,File_moto_logo);  if (mFile.exists()){   mFile.delete();  }  mFile = new File(sDir,File_samsun_logo);  if (mFile.exists()){   mFile.delete();  } mFile = new File(sDir,"sysBoot_logo_null.dat");  if (mFile.exists()){   mFile.delete();  }  if (str != null){   mFile = new File(sDir,str);   if (!mFile.exists()){    try {     mFile.createNewFile();    } catch (IOException e) {     e.printStackTrace();    }   }  } }

2.在vendor/mediatek/proprietary/external/libshowlogo/charging_animation.cpp文件中,添加logo切換

const char LOGO_ON5_ANI[] = "/protect_f/sysBoot_logo_moto.dat";const char LOGO_I7_ANI[] = "/protect_f/sysBoot_logo_samsun.dat";/* * Show kernel logo when phone boot up * */void show_kernel_logo(){  //這是系統本來就有的 SLOGD("[libshowlogo: %s %d]show kernel logo, index = 38 /n",__FUNCTION__,__LINE__); if (error_flag == 0) {  if(open(LOGO_ON5_ANI,O_RDONLY) >= 0){   anim_show_logo(kernel_logo_position+1);   property_set("ani_type","custom");   property_set("animation_num","On5_Ani");  }else if (open(LOGO_I7_ANI,O_RDONLY) >= 0) {   anim_show_logo(kernel_logo_position+2);   property_set("ani_type","custom");   property_set("animation_num","I7_Ani");  }else{   anim_show_logo(kernel_logo_position);   property_set("ani_type","android");   property_set("animtion_num","android");  } }}

3.framworks/base/cmds/bootanimation/BootAnimation.cpp文件中,在void BootAnimation::initBootanimationZip()方法中添加切換動畫

 char anitype[PROPERTY_VALUE_MAX]; char aninum[PROPERTY_VALUE_MAX]; property_get("ani_type",anitype,""); property_get("animation_num",aninum,""); if (strcmp("custom",anitype) == 0) {  if (strcmp("On5_Ani", aninum)==0) {   if (access("/system/media/bootanimation_custom.zip", R_OK) == 0) {    if ((zipFile = ZipFileRO::open("/system/media/bootanimation_custom.zip")) != NULL) {     mZip = zipFile;    }   }  }else if (strcmp("I7_Ani", aninum)==0){   if (access("/system/media/bootanimation_s6.zip", R_OK) == 0) {    if ((zipFile = ZipFileRO::open("/system/media/bootanimation_s6.zip")) != NULL) {     mZip = zipFile;    }   }  } } if (zipFile == NULL) {

總結

以上所述是小編給大家介紹的Andorid 系統實現多種開機動畫和logo切換功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产欧美精品一区二区色综合朱莉 | 国产精品99久久久久久动医院 | 日本精品视频在线观看 | 精品国产99| 伊人激情四射 | 亚洲品质自拍视频网站 | 欧美性猛交一区二区三区精品 | 精品一二三区在线观看 | 久久成人国产 | 一级在线毛片 | 国产a久久精品一区二区三区 | 国产成人精品高清久久 | 91精品久久久久久 | 超碰在线看 | 亚洲三级网址 | 久久久99精品免费观看 | 成人一区电影 | 成人1区2区 | av国产精品 | 国产亚洲精品久久久久动 | 成人免费毛片高清视频 | 成人在线精品视频 | 成人久久久久爱 | 97网站 | 久久精品黄色 | 亚洲电影在线看 | 成人性生交大片免费看中文带字幕 | 亚洲网站在线免费观看 | 国产女人和拘做受视频 | 精品国产一二 | 日韩电影免费观看 | 国产精品一区二区三区在线 | 欧美第一页 | 一区中文字幕 | 欧美视频中文字幕 | 欧美日韩国产综合视频 | 国产精品毛片无码 | 亚洲激情第一页 | 日韩成人一区二区 | 国产区网址 | 精品国产一区二区三区久久久久久 |