Andorid 시스템 은 다양한 부팅 애니메이션 과 로고 전환 기능 을 실현 합 니 다.
mtk 6580 기반 다 중 로고 와 스위치 애니메이션 전환 추가
묘사 하 다.
현재 안 드 로 이 드 켜 기 화면 은 세 부분(단계)으로 구성 되 어 있 으 며,첫 번 째 부분 은 bootloader 가 시 작 될 때(정적),두 번 째 부분 은 kernel 을 시작 할 때(정적),세 번 째 부분 은 시스템 이 시 작 될 때(bootanimation)표시(애니메이션)입 니 다.
자원 추가
1.device/tangxun/tx 6580weg_m/ProjectConfig.mk,BOOT 찾기LOGO=이 항목 을 기억 하 십시오(예:hd 720,).vendor/mediatek/propertietary/bootable/bootloader/lk/dev/logo/디 렉 터 리 에서 BOOT 을 찾 습 니 다.LOGO=대응 하 는 폴 더 에 당신 의 그림 을 넣 습 니 다.그림 은 제 가 이렇게 명명 한 hd 720 입 니 다.kernel_i7.bmp.(교체 만 한다 면 hd 720kernel.bmp 와 hd 720uboot.bmp 이 두 장의 그림 을 사용 하면 됩 니 다.새 그림 의 이름 은 이전 그림 과 일치 해 야 합 니 다)
2.vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/rules.mk 에서 RESOURCE 수정OBJ_LIST 목록,그림 참조:
마지막 두 가 지 는 제 가 추 가 했 어 요.
3.같은 디 렉 터 리 아래 update 파일 에 추가
로고 추가
사고:먼저 우리 가 추가 한 표 지 는 쉽게 제거 되 지 못 한다.이 는 출하 설정 을 복원 하 는 상황 을 포함한다.그래서 저 는 protectf.파 티 션 에서 빈 파일 을 만 드 는 방식 으로 show 로고 가 있 을 때 해당 파일 이 존재 하 는 지 판단 하여 서로 다른 로고 와 애니메이션 을 보 여 줍 니 다.
1.보 여줄 로고 와 애니메이션 을 선택 하고 protectf 파 티 션 에서.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/charginganimation.cpp 파일 에 로고 전환 추가
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
",__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::initBootanimation Zip()방법 에 전환 애니메이션 추가
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 시스템 이 다양한 부팅 애니메이션 과 로고 전환 기능 을 실현 하 는 것 입 니 다.여러분 께 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 께 서 신속하게 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.