#!/bin/bash
filename="androbook_101025095705_57340703.apk"
newpackagename="net.osakana.androbook.book001"
outputfilename="new.apk"
tmpdir="/home/androbook/web/newtmp"
outdir="/home/androbook/web"
keystorefile="/home/androbook/web/my-release-key.keystore"
keystorename="keystorename"
keypass="keypass"
newpackagedir=`echo $newpackagename|sed 's/\./\//g'`
if [ -f "$outdir/$outputfilename" ]
then
rm "$outdir/$outputfilename"
fi
if [ -f "$outdir/tmp-$outputfilename" ]
then
rm "$outdir/tmp-$outputfilename"
fi
if [ -d "$tmpdir" ]
then
rm -rf "$tmpdir"
fi
echo "Exec apktool"
apktool d "$filename" "$tmpdir"
cd $tmpdir
packagename=`grep package= AndroidManifest.xml |awk '{ print $4 }' |sed s/package=\"//g|sed s/\"//g`
shortpackagename=`echo $packagename|sed 's/net\.//g'`
echo "mod AndroidManifest.xml"
sed -e "s/$packagename/$newpackagename/g" AndroidManifest.xml | sed 's/<\/manifest>/\n<\/manifest>/g' > AndroidManifest.xml.tmp
mv AndroidManifest.xml.tmp AndroidManifest.xml
echo "mod resource"
cd $tmpdir/res
cp -r values values-ja
cd $tmpdir/res/values-ja
sed -e 's/<\/resources>/次ページ<\/string>\n前ページ<\/string>\n<\/resources>/' strings.xml > strings.xml.tmp
mv strings.xml.tmp strings.xml
cd $tmpdir/res/values
sed -e 's/<\/resources>/next<\/string>\nprev<\/string>\n<\/resources>/' strings.xml > strings.xml.tmp
mv strings.xml.tmp strings.xml
cd $tmpdir/res/layout
cat main.xml |sed 's/android:text="prev"/android:text="@string\/prev"/g' | sed 's/android:text="next"/android:text="@string\/next"/g' > main.xml.tmp
mv main.xml.tmp main.xml
echo "mod program"
mkdir -p "$tmpdir/smali/$newpackagedir"
mv $tmpdir/smali/net/$shortpackagename/* "$tmpdir/smali/$newpackagedir"
rmdir "$tmpdir/smali/net/$shortpackagename"
cd "$tmpdir/smali/$newpackagedir"
tmpname=`echo "$newpackagedir"|sed 's/\//\\\\\//g'`
for file in *.smali
do
sed -e "s/net\/$shortpackagename/$tmpname/g" $file > $file.n
mv $file.n $file
done
echo "build apk file"
apktool b "$tmpdir" "$outdir/tmp-$outputfilename"
echo "jar sign"
jarsigner -verbose -keystore $keystorefile -storepass "$keypass" "$outdir/tmp-$outputfilename" $keystorename
echo "apk align"
zipalign -v 4 "$outdir/tmp-$outputfilename" "$outdir/$outputfilename"