응용하면 본인이 원하는 특정 이미지를 apk 에서 교체할 수 있습니다.
#!/system/bin/sh
echo
echo "REMOVE STATUS BAR OPERATOR LOGO - MELFY"
echo
epng=empty.png
op=*operator*
apk=SystemUI.apk
보기 쉽게 변수로 정의했습니다.
빈 이미지 파일명으로 empty.png를 epng 로 할당하고..
operator 라는 문자열 좌우에 와일드카드 * 을 넣어서 op 변수로.
dest=$( find /system -iname "$apk" )
시스템 폴더에서 SystemUI.apk 위치를 찾습니다.
$dest 변수에 /system/app/SystemUI.apk 가 찾아집니다.
cp $dest .
그걸 지금 폴더 위치 (쩜 하나) 로 복사해옵니다.
echo
echo "Extracting Operator LOGO"
7za x -tzip $apk "res/$op" -r -y
7za 로 $op (operator 라는 문자열이 포함된 파일을 모두 압축해제 합니다.
현재 위치에 res/drawable 등의 파일이 압축해제 됩니다.
echo
echo "Replace with EMPTY png"
find ./res -type f -name "*.png" -exec cp $epng {} \;
res 폴더에서 확장자 png 인 모든 파일의 존재를 확인해서 cp 복사 멓령을 실행합니다.
{}는 찾아진 파일 경로 모두를 대신합니다.
cp 이후의 망령은 $epng 1픽셀 빈파일을 파일명을 바꾸지 않고 바꿔주게 됩니다.
echo
echo "Integration into APK"
7za a -tzip $apk "res/*" -r -y
이건 바꿔진 결과를 apk 에 엎어쓰게 해줍니다.
echo
echo "zipaligning..."
zipalign -f 4 $apk aligned.apk
rm -f $apk
mv aligned.apk $apk
집얼라인 합니다.
echo
echo "Removing temp files"
rm -rf res
echo
echo
echo "Finished : $apk"
정리해보면 비지박스, 7za 바이너리와 1픽셀 빈이미지만 있으면 추노마크를 제거한 SystemUI.apk 를 자동으로 만들어줍니다.
[SAMSUNG/SHV-E210S; 2.2.8/E210SKSUGNA2/4.3]