Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #
- # deodex zippalign 選択型 linux
- clear
- if [ ! -e app ]; then
- mkdir app
- fi
- if [ ! -e framework ]; then
- mkdir framework
- fi
- if [ ! -e priv-app ]; then
- mkdir priv-app
- fi
- # toolsフォルダチェック
- if [ ! -e tools ]; then
- echo "toolsフォルダがありません"
- echo "終了します"
- exit
- else
- chmod -R 0755 tools
- fi
- # app 繰り返しdeodex
- app_deodex () {
- clear
- if [ $aodex != "0" ]; then
- echo "Android 4.0 API:14"
- echo "Android 4.0.4 API:15"
- echo "Android 4.1 API:16"
- echo "Android 4.2 API:17"
- echo "Android 4.3 API:18"
- echo "Android 4.4 API:19"
- read -p "APIレベル入力:" api
- cd app
- # odexリスト
- aodexlist=`find *.odex | sed s/.odex//`
- # odexリスト分deodex繰り返し処理
- echo "app deodex開始"
- for aodexfile in ${aodexlist[@]}
- do
- clear
- echo "API: $api"
- echo "$aodexfile deodex中..."
- ../tools/baksmali -a $api -d ../framework -x $aodexfile.odex -o $aodexfile
- ../tools/smali -a $api $aodexfile -o classes.dex
- ../tools/7z a -tzip $aodexfile.apk classes.dex
- rm -rf $aodexfile $aodexfile.odex classes.dex
- echo "$aodexfile deodex完"
- done
- cd ..
- clear
- aapknew=`find app | grep -c ".apk"`
- aodexnew=`find app | grep -c ".odex"`
- echo "app apkファイル数: $aapknew odexファイル数: $aodexnew"
- echo "appのdeodex完了しました"
- read Wait
- else
- echo "appにodexファイルがありません"
- read Wait
- fi
- }
- # framework 繰り返しdeodex
- framework_deodex () {
- clear
- fodex=`find framework | grep -c ".odex"`
- if [ $fodex != "0" ]; then
- echo "Android 4.0 API:14"
- echo "Android 4.0.4 API:15"
- echo "Android 4.1 API:16"
- echo "Android 4.2 API:17"
- echo "Android 4.3 API:18"
- echo "Android 4.4 API:19"
- read -p "APIレベル入力:" api
- cd framework
- # playstationcertified.odexを退避
- if [ -e playstationcertified.odex ]; then
- mv playstationcertified.odex ../
- fi
- # SemcGenericUxpResチェック
- echo " framework deodex開始"
- if [ -e SemcGenericUxpRes.odex ]; then
- clear
- echo "API: $api"
- echo "SemcGenericUxpRes deodex中..."
- ../tools/baksmali -a $api -d ../framework -x SemcGenericUxpRes.odex -o \
- SemcGenericUxpRes
- ../tools/smali -a $api SemcGenericUxpRes -o classes.dex
- ../tools/7z a -tzip SemcGenericUxpRes.apk classes.dex
- rm -rf SemcGenericUxpRes SemcGenericUxpRes.odex classes.dex
- echo "SemcGenericUxpRes deodex完"
- fi
- # odexリスト
- fodexlist=`find *.odex | sed s/.odex//`
- # odexリスト分deodex繰り返し処理
- for fodexfile in ${fodexlist[@]}
- do
- clear
- echo "API: $api"
- echo "$fodexfile deodex中..."
- ../tools/baksmali -a $api -d ../framework -x $fodexfile.odex -o $fodexfile
- ../tools/smali -a $api $fodexfile -o classes.dex
- ../tools/7z a -tzip $fodexfile.jar classes.dex
- rm -rf $fodexfile $fodexfile.odex classes.dex
- echo "$fodexfile deodex完"
- done
- cd ..
- clear
- fapknew=`find framework | grep -c ".apk"`
- fjarnew=`find framework | grep -c ".jar"`
- fodexnew=`find framewokr | grep -c ".odex"`
- echo "framework apkファイル数: $fapknew jarファイル数: $fjarnew \
- odexファイル数: $fodexnew"
- if [ -e playstationcertified.odex ]; then
- mv playstationcertified.odex framework/
- fi
- echo "frameworkのdeodex完了しました"
- read Wait
- else
- echo "frameworkにodexファイルがありません"
- read Wait
- fi
- }
- # priv-app 繰り返しdeodex
- priv_app_deodex () {
- clear
- podex=`find priv-app | grep -c ".odex"`
- if [ $podex != "0" ]; then
- echo "Android 4.0 API:14"
- echo "Android 4.0.4 API:15"
- echo "Android 4.1 API:16"
- echo "Android 4.2 API:17"
- echo "Android 4.3 API:18"
- echo "Android 4.4 API:19"
- echo "APIレベルを選択して入力"
- read -p "APIレベル入力:" api
- cd priv-app
- # odexリスト
- podexlist=`find *.odex | sed s/.odex//`
- # odexリスト分deodex繰り返し処理
- echo "priv-app deodexk開始"
- for podexfile in ${podexlist[@]}
- do
- clear
- echo "API: $api"
- echo "$podexfile deodex中..."
- ../tools/baksmali -a $api -d ../framework -x $podexfile.odex -o $podexfile
- ../tools/smali -a $api $podexfile -o classes.dex
- ../tools/7z a -tzip $podexfile.apk classes.dex
- rm -rf $podexfile $podexfile.odex classes.dex
- echo "$podexfile deodex完"
- done
- cd ..
- clear
- papknew=`find priv-app | grep -c ".apk"`
- podexnew=`find priv-app | grep -c ".odex"`
- echo "priv-app apkファイル数: $papknew odexファイル数: $podexnew"
- echo "priv-appのdeodex完了しました"
- read Wait
- else
- echo "priv-appにodexファイルがありません"
- read Wait
- fi
- }
- # app apk最適化
- app_zipalign () {
- clear
- aodexnew=`find app | grep -c ".odex"`
- if [ $aodexnew != "0" ]; then
- azip=`find app | grep -c ".apk"`
- if [ $azip != "0" ]; then
- cd app
- # apkリスト
- aziplist=`find *.apk`
- # apkリスト分繰り返し最適化処理
- echo "最適化開始"
- for azipfile in ${aziplist[@]}
- do
- ../tools/zipalign-linux 4 $azipfile $azipfile-ed
- rm $azipfile
- mv $azipfile-ed $azipfile
- echo "$azipfile 最適化完"
- done
- cd ..
- azipnew=`find app | grep -c ".apk"`
- echo "app apkファイル数: $azipnew"
- echo "appの最適化完了しました"
- read Wait
- else
- echo "appに最適化するapkがありません"
- read Wait
- fi
- else
- echo "deodexされていません"
- read Wait
- fi
- }
- # framework apk最適化
- framework_zipalign () {
- clear
- fodexnew=`find framework | grep -c ".odex"`
- if [ $fodexnew != "0" ]; then
- fzip=`find framework | grep -c ".apk"`
- if [ $fzip != "0" ]; then
- cd framework
- # apkリスト
- fziplist=`find *.apk`
- # apkリスト分繰り返し最適化処理
- echo "最適化開始"
- for fzipfile in ${fziplist[@]}
- do
- ../tools/zipalign-linux 4 $fzipfile $fzipfile-ed
- rm $fzipfile
- mv $fzipfile-ed $fzipfile
- echo "$fzipfile 最適化完"
- done
- cd ..
- fzipnew=`find framework | grep -c ".apk"`
- echo "framework apkファイル数: $fzipnew"
- echo "frameworkの最適化完了しました"
- read Wait
- else
- echo "frameworkに最適化するapkがありません"
- read Wait
- fi
- else
- echo "deodexされていません"
- read Wait
- fi
- }
- # priv-app apk最適化
- priv_app_zipalign () {
- clear
- podexnew=`find priv-app | grep -c ".odex"`
- if [ $podexnew != "0" ]; then
- pzip=`find priv-app | grep -c ".apk"`
- if [ $pzip != "0" ]; then
- cd priv-app
- # apkリスト
- pziplist=`find *.apk`
- # apkリスト分繰り返し最適化処理
- echo "最適化開始"
- for pzipfile in ${pziplist[@]}
- do
- ../tools/zipalign-linux 4 $pzipfile $pzipfile-ed
- rm $pzipfile
- mv $pzipfile-ed $pzipfile
- echo "$pzipfile 最適化完"
- done
- cd ..
- pzipnew=`find priv-app | grep -c ".apk"`
- echo "priv-app apkファイル数: $pzipnew"
- echo "priv-appの最適化完了しました"
- read Wait
- else
- echo "priv-appに最適化するapkがありません"
- read Wait
- fi
- else
- echo "deodexされていません"
- read Wait
- fi
- }
- cleaning () {
- rm -rf app framework priv-app system signed_deodex.zip deodex.zip
- mkdir app framework priv-app
- }
- # エラー処理
- err_java () {
- clear
- echo "Javaが実行できません"
- echo "処理を中止します"
- read Wait
- exit
- }
- err_unknown () {
- clear
- echo "不明なエラーが発生しました"
- echo "処理を中止します"
- read Wait
- exit
- }
- clear
- echo ""
- echo "***************************************************************"
- echo " deodex zipalign "
- echo "***************************************************************"
- echo ""
- echo "1 - app deodex"
- echo "2 - framework deodex"
- echo "3 - priv-app deodex"
- echo "4 - app 最適化"
- echo "5 - framework 最適化"
- echo "6 - priv-app 最適化"
- echo "7 - クリーニング"
- echo "0 - EXIT"
- echo -e
- echo -e -n "番号選択 :"
- read opt
- case $opt in
- 1) app_deodex ;;
- 2) framework_deodex ;;
- 3) priv_app_deodex ;;
- 4) app_zipalign ;;
- 5) framework_zipalign ;;
- 6) priv_app_zipalign ;;
- 7) cleaning ;;
- 0)
- clear
- exit
- ;;
- esac
- ./Select
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement