Androidファイルを操作するためのスクリプトがあります。他の場所からたくさんのコードを借りてまとめましたが、ほぼ完了しました。
スクリプトには、(少なくとも)2つのエラーがあります。
- ユーザーが利用できないオプションを選択したときに「無効な選択」というメッセージを表示してから、選択画面に戻るようにします。
- 選択したファイルに対して操作を実行するかどうかに関係なく、メインメニュー(「ビルド」と呼ばれる「マスター」スクリプト)に戻ってこのスクリプトに戻ると、ファイルリストはどういうわけか最後からファイルの番号付けを続けます時間..つまり、最初の実行の最後のファイルは#43です。スクリプトを再度実行すると、最初のファイルは#44で始まります。マスター(ビルド)スクリプトを完全に終了して、最初からやり直す必要があります。
スクリプトは次のとおりです。
#!/bin/bash
HOME=/home/dan/buildtool
d=$HOME/apk_in/decompiled
clear
a=`ls -d $d/* | grep .apk`
if [[ "$?" == "0" ]] ; then
echo "Available apks for Recompiling: "
echo
cd $d
for apkName in `ls | grep .apk`
do
i=$(($i+1))
apkArray[$i]=$apkName
echo " $i. $apkName" >> temp.list
done
cat temp.list
rm -f temp.list
echo
echo -n "Choose Apk number (choose x to return to menu): "
read ans
echo
if [ "$ans" == "" ]; then
echo "Invalid choice"
echo
exit 0
fi
if [ "$ans" == "x" ]; then
clear
. $HOME/build
fi
if [ "`echo $ans | sed 's/[0-9]*//'`" == "" ] || [ "ans"=="1" ]; then
apkDecode=${apkArray[$ans]}
if [ "$apkDecode" == "" ]; then
exit 0
fi
else
exit 0
fi
apktool b -f $apkDecode
else
echo
clear
echo "No valid files"
fi
理想的には、使用するファイルを複数選択できるようにしたいのですが、それはスクリプトの完全な書き直しになると思います。まず、これをクリーンアップしたいと思います。 )。