最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 系統(tǒng)實現(xiàn)多種開機(jī)動畫和logo切換功能

 更新時間:2022年06月29日 17:05:39   作者:mikao12  
這篇文章主要介紹了android 系統(tǒng)實現(xiàn)多種開機(jī)動畫和logo切換功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

前言

基于mtk6580,添加多l(xiāng)ogo和開關(guān)機(jī)動畫切換

描述

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

添加資源

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

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

在這里插入圖片描述

最后兩項就是我添加的

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

在這里插入圖片描述

添加標(biāo)識區(qū)分不同logo

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

1.選擇一種要展示的logo和動畫,在protect_f分區(qū)下創(chuàng)建.dat后綴的文件,刪除其他類型動畫在protect_f分區(qū)下的相應(yīng)文件

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(){  //這是系統(tǒng)本來就有的
 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) {

總結(jié)

以上所述是小編給大家介紹的Andorid 系統(tǒng)實現(xiàn)多種開機(jī)動畫和logo切換功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Android實現(xiàn)Neumorphism?UI控件

    Android實現(xiàn)Neumorphism?UI控件

    大家好,本篇文章主要講的是Android實現(xiàn)Neumorphism?UI控件,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Android手動檢查并申請權(quán)限方法

    Android手動檢查并申請權(quán)限方法

    今天小編就為大家分享一篇Android手動檢查并申請權(quán)限方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Android基礎(chǔ)之使用Fragment控制切換多個頁面

    Android基礎(chǔ)之使用Fragment控制切換多個頁面

    Android官方已經(jīng)提供了Fragment的各種使用的Demo例子,在我們SDK下面的API Demo里面就包含了Fragment的各種使用例子,需要看Demo的朋友,直接看API Demo那個程序就可以了,不用到處去找。里面分開不同功能,實現(xiàn)了不同的類
    2013-07-07
  • 解析android截屏問題

    解析android截屏問題

    筆者做過一段時間的截屏開發(fā),稍微了解了一下這方面的知識,于是拿來分享一下,也許對你有一些幫助吧
    2013-07-07
  • Android?Retrofit使用詳細(xì)教程

    Android?Retrofit使用詳細(xì)教程

    Retrofit是Android用來接口請求的網(wǎng)絡(luò)框架,內(nèi)部是基于OkHttp實現(xiàn)的,retrofit負(fù)責(zé)接口請求的封裝,retrofit可以直接將接口數(shù)據(jù)解析為Bean類、List集合等,直接簡化了中間繁瑣的數(shù)據(jù)解析過程,這篇文章主要介紹了Android?Retrofit使用詳情,需要的朋友可以參考下
    2024-03-03
  • Android開發(fā)中Intent傳遞對象的方法分析

    Android開發(fā)中Intent傳遞對象的方法分析

    這篇文章主要介紹了Android開發(fā)中Intent傳遞對象的方法,結(jié)合實例分析了Intent傳遞對象所涉及的具體方法、實現(xiàn)步驟與相關(guān)注意事項,需要的朋友可以參考下
    2016-02-02
  • Android ExpandableListView實現(xiàn)下拉刷新和加載更多效果

    Android ExpandableListView實現(xiàn)下拉刷新和加載更多效果

    這篇文章主要為大家詳細(xì)介紹了Android ExpandableListView實現(xiàn)下拉刷新和加載更多效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • android開發(fā)教程之view組件添加邊框示例

    android開發(fā)教程之view組件添加邊框示例

    這篇文章主要介紹了android開發(fā)中給view組件添加邊框的示例,需要的朋友可以參考下
    2014-02-02
  • Android中的Bitmap緩存池使用詳解

    Android中的Bitmap緩存池使用詳解

    這篇文章主要介紹了Android中的Bitmap緩存池使用詳解,本文主要目的是講解如何使用緩存來提高UI的載入輸入和滑動的流暢性,需要的朋友可以參考下
    2015-01-01
  • Android開發(fā)實現(xiàn)跟隨手指的小球效果示例

    Android開發(fā)實現(xiàn)跟隨手指的小球效果示例

    這篇文章主要介紹了Android開發(fā)實現(xiàn)跟隨手指的小球效果,涉及Android圖形繪制、事件響應(yīng)、界面布局等相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04

最新評論

泸西县| 元谋县| 同仁县| 武威市| 定州市| 台湾省| 盈江县| 哈尔滨市| 龙胜| 凌海市| 浮梁县| 定陶县| 斗六市| 长海县| 宁乡县| 长沙县| 淮北市| 鹤庆县| 象州县| 桂阳县| 中江县| 大悟县| 获嘉县| 稷山县| 湘潭县| 姜堰市| 咸阳市| 苍山县| 平山县| 于都县| 安新县| 景谷| 惠州市| 吉木乃县| 扎囊县| 即墨市| 留坝县| 鹤峰县| 固阳县| 杭锦后旗| 庆元县|