안드로이드 시스템 개조를위한 플래시 가능 지퍼를 만드는 방법

/ system 파티션 용 응용 프로그램 (예 : 루트 응용 프로그램)을 만들려는 Android 개발자 인 경우 응용 프로그램에 대해 플래시 가능한 .zip을 만들려는 특정 인스턴스가 있습니다. 앱 파일을 / system 파티션에 올바르게 설치할 수 있도록하기위한 것입니다.

플래시 가능한 .zip의 다른 용도는 다음과 같습니다.

  • DPI 수정
  • 사용자 정의 글꼴 적용
  • 사용자 정의 부팅 애니메이션 적용
  • 시스템 앱 제거 또는 추가

사용자에게 파일 시스템을 어지럽히고 파일을 수동으로 이동하도록 지시하는 것은 관련된 모든 사람에게 시간 낭비입니다. 플래시 가능한 .zip을 작성하는 것이 훨씬 편리한 경로입니다. 이 Appual 's guide는 안드로이드 용 플래시 지퍼를 만드는 방법을 보여줍니다.

또한 addon.d 스크립트를 보여 주므로, 커스텀 시스템 변경 사항은 더티 ROM 플래시에서도 살아남을 수 있습니다. 따라서 사용자는 각 업데이트마다 지퍼를 다시 플래시 할 필요가 없습니다.

요구 사항 :

  • 루트 파일 탐색기 (MiXplorer, Solid Explorer)
  • MixPlorer를 사용하는 경우 ZipSigner (zip 서명용) 또는 MiX Signer 플러그인
  • Nandroid 백업을 적극 권장합니다

또한 zip으로 들어가는 모든 파일 (예 : APK, 구성, 부팅 애니메이션 등)도 준비해야합니다. 시작하기 전에 모든 것이 정리되어 있어야합니다.이 과정은 섬세한 프로세스이기 때문입니다.

맞춤 우편 템플릿

자신의 필요에 맞게 사용자 정의 할 수있는 템플릿 zip을 다운로드하거나 플래시 가능한 zip을 만들기위한 기반으로 사용하려는 경우 여기에서 가져올 수 있습니다.

  • 템플릿 스크립트 : 다운로드 링크 (기본 명령 / 사용자 정의 값을 추가해야 함 : 앱, 벨소리 경로, 부팅 애니메이션…)
  • 템플릿 ZIP : 다운로드 링크 (예는 설명을 더 잘 이해하기 위해 항상 환영합니다. 파일을 구성하는 방법을 이해하는 데 도움이 될 수 있습니다).

템플릿은 사용자 정의 스크립트를 사용하기에 충분해야합니다.

이 주요 경로는 / system 파티션에서 플래시 가능한 zip이 일반적으로 대상으로하기 때문에 다음과 같은 경로를 기억해야합니다.

 addon.d => 더티 플래시 (예 : GApps 패키지에서 사용) 앱 및 priv-app => 시스템 앱에서 추가 또는 제거를위한 백업 스크립트 => 호스트 파일 글꼴 => 글꼴 미디어 => bootanimation.zip 미디어> 오디오> 알람 => 알람 소리 미디어> 오디오> 알림 => 알림 소리 미디어> 오디오> 벨소리 => 벨소리 소리 미디어> 오디오> ui => 배터리 부족, 잠금 해제, 카메라, .. build.prop 파일의 / system 루트 

이러한 경로에서 제거 된 파일은 더티 플래시 후에 다시 설치되며 수동으로 추가 한 파일은 제거됩니다. 그렇기 때문에 / system 모드를 백업하는 스크립트를 작성해야합니다.

업데이트 스크립트의 예

 ui_print ( "+ ------------------------------------- +"); ui_print ( "| CLEAN FLASH SCRIPT |"); ui_print ( "| |"); ui_print ( "| by Primokorn |"); ui_print ( "+ ------------------------------------- +"); run_program ( "/ sbin / busybox", "umount", "/ system"); run_program ( "/ sbin / busybox", "mount", "/ system"); ui_print ( ""); ui_print ( "*** 블로 트웨어 삭제 ***"); delete_recursive ( "/system/app/adaway.apk", "/ system / app / AdAway", "/ system / app / BasicDreams", "/ system / app / BookmarkProvider", "/ system / app / Calendar", " / system / app / CalendarWidget ", "/ system / app / CMFileManager ", "/ system / app / CMWallpapers ", "/ system / app / DeskClock ", "/ system / app / Eleven ", "/ system / app / 이메일 ", "/ system / app / ExactCalculator ", "/ system / app / Exchange2 ", "/ system / app / Gello ", "/ system / app / HexoLibre ", "/ system / app / Jelly ", "/ system / app / LiveWallpapersPicker ", "/ system / app / LockClock ", "/ system / app / messaging ", "/ system / app / MiXplorer ", "/ system / app / NexusLauncher ", "/ system / app / Phonograph ", "/ system / app / PhotoTable ", "/ system / app / PicoTts ", "/ system / app / PicoTTS ", "/ system / app / ResurrectionStats ", "/ system / app / SoundRecorder ", "/ system / app / Terminal ", "/ system / app / TugaBrowser ", "/ system / app / Wallpaper ", "/ system / app / WallpaperPickerGoogle ", "/ system / priv-app / AudioFX ", "/ system / priv- app / Chrome ", "/ system / priv-app / Gallery2 ", "/ system / priv-app / MusicFX ", "/ system / priv-app / OnePlusCamera ", "/ system / priv- app / OnePlusGallery ", "/ system / priv-app / OnePlusMusic ", "/ system / priv-app / Recorder ", "/ system / priv-app / Screencast ", "/ system / priv-app / Snap ", " / system / priv-app / SnapdragonCamera ", "/ system / priv-app / SnapdragonGallery ", "/ system / priv-app / WeatherManagerService ", "/ system / priv-app / WeatherProvider ", "/ system / priv-app / 태그 "); ui_print ( "앱 및 모드 설치 등"); show_progress (8.800000, 5); package_extract_dir ( "system", "/ system /"); ui_print ( "*** 고정 권한 ***"); set_perm (0, 0, 0755, "/system/addon.d/99-dirty.sh"); set_perm (0, 0, 0644, "/system/etc/gps.conf"); set_perm (0, 0, 0644, "/system/fonts/Roboto-Regular.ttf"); set_perm (0, 0, 0644, "/system/media/audio/ringtones/PlasticRing.ogg"); set_perm (0, 0, 0644, "/system/priv-app/Phonesky.apk"); set_perm (0, 0, 0644, "/system/priv-app/microG.apk"); set_perm (0, 0, 0644, "/system/priv-app/Gsam.apk"); set_perm (0, 0, 0644, "/system/priv-app/BBS.apk"); set_perm (0, 0, 0644, "/system/priv-app/V4A-Magisk.apk"); run_program ( "/ sbin / busybox", "mount", "/ data"); package_extract_dir ( "data", "/ data /"); set_perm (0, 0, 0755, "/data/local/afscript.sh"); show_progress (8.800000, 5); run_program ( "/ sbin / busybox", "umount", "/ data"); run_program ( "/ sbin / busybox", "umount", "/ system"); ui_print ( ""); ui_print ( "완료."); ui_print ( "재부팅 준비 완료."); 

참고 : ui_print (”“); 문자 메시지입니다. 이 라인들은 아무것도하지 않습니다.

파티션을 작업하기 전에 항상 마운트를 해제했다가 다시 마운트해야합니다.

 run_program ( "/ sbin / busybox", "umount", "/ system"); run_program ( "/ sbin / busybox", "mount", "/ system"); 

시스템 구성 요소 / 앱을 제거하려면 마지막 줄을 제외하고 각 줄의 끝에 쉼표를 넣으십시오.

 delete_recursive ( "/system/app/adaway.apk", "/ system / app / AdAway", ........................ "/ system / priv-app / WeatherProvider ", "/ system / priv-app / Tag "); 

설치하려는 시스템 파일을 추출하십시오.

 package_extract_dir ( "system", "/ system /"); 파일 권한을 설정하십시오. set_perm (0, 0, 0755, "/system/addon.d/99-dirty.sh"); .............. set_perm (0, 0, 0644, "/system/priv-app/V4A-Magisk.apk"); 

/ data 폴더에 대해 동일한 작업을 수행하십시오. 따라서 파티션을 마운트하고 추가 할 데이터를 추출한 후 권한을 설정합니다.

 run_program ( "/ sbin / busybox", "mount", "/ data"); package_extract_dir ( "data", "/ data /"); set_perm (0, 0, 0755, "/data/local/afscript.sh"); 

다음으로 수정 된 파티션을 마운트 해제합니다.

 run_program ( "/ sbin / busybox", "umount", "/ data"); run_program ( "/ sbin / busybox", "umount", "/ system"); 

Addon.D 스크립트의 예

 #! / sbin / sh # # /system/addon.d/99-dirty.sh # / system이 포맷되고 다시 설치되면 해당 파일이 복원됩니다. #. /tmp/backuptool.functions list_files () {cat < 

더러운 플래시 후에 보관할 파일 목록을 만듭니다.

 list_files () {고양이 < 

RM -RF 더티 플래시 후 설치하지 않을 파일 (더티 플래시에서 다시 설치 될 수정에서 제거한 시스템 파일)

 rm -rf /system/app/adaway.apk rm -rf / system / app / AdAway rm -rf / system / app / BasicDreams rm -rf / system / app / BookmarkProvider ............ .................................... rm -rf / system / priv-app / WeatherProvider rm -rf / system / priv-app / Tag ;; 

플래시 가능한 Android Zip을 만드는 방법

우리는 MiXplorer를 사용할 것입니다. 안드로이드를위한 최고의 루트 탐색기와 파일 관리자이기 때문입니다.

  1. 먼저 zip에 포함될 모든 폴더를 선택하고 보관을 선택하십시오.

  2. 보관 파일 생성을 확인하고 파일 이름을 지정한 다음 Store를 선택하십시오.

  3. 플래시 가능한 zip이 생성되므로 zip 파일을 선택한 다음 서명하십시오 (MiX 서명자 플러그인 사용).
  4. 이제 서명 오류를 검사하려면 TestKey를 선택하십시오.
  5. 이제 zip을 플래시 할 수 있습니다. 사용자 지정 복구에서 쉽게 찾을 수 있도록 / SDcard로 옮기는 것이 좋습니다.

최종 노트

클린 플래시 후 또는 / system 파티션을 지우고 ROM을 더티 플래시 한 후에 플래시 가능한 zip을 설치해야합니다. 업데이터 스크립트는 스크립트에 지정한 시스템 파일을 제거하고 추가하지만 addon.d 스크립트는 그대로 두어야합니다.이 스크립트는 사용자의 간섭없이 작업을 수행하기 때문입니다.

처음 설치 한 후에는 / system 파티션을 철저히 검사하여 파일이 제거 된 등 모든 것이 올바른지 확인하십시오. 파일 이름에 오타가 있거나 제거되지 않았을 수 있습니다.

재미있는 기사