#!/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"