Created
June 8, 2018 13:10
-
-
Save iddoeldor/717f0b4f4f4bbbcddc8a76cb75a542fd to your computer and use it in GitHub Desktop.
Make an android app debugabble and reinstall
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Make an android app debugabble and reinstall | |
set -ex | |
DNAME="CN=Ross Patterson, OU=me, O=rpatterson.net, L=San Francisco, ST=CA, C=US" | |
PACKAGE_RE='^package:(/data/app/([^-]+)-.+==/(.+.apk))=.+' | |
MANIFEST_RE='(<application [^>]+)>' | |
export PATH=$HOME/Android/Sdk/platform-tools:$PATH | |
app="$1" | |
storepasswd=$(pwgen 16 1) | |
package_listing=$(adb shell pm list packages -f -3 | grep "$app") | |
apk_path=$(echo "$package_listing" | sed -En "s|$PACKAGE_RE|\1|p") | |
package_name=$(echo "$package_listing" | sed -En "s|$PACKAGE_RE|\2|p") | |
apk_basename=$(echo "$package_listing" | sed -En "s|$PACKAGE_RE|\3|p") | |
adb pull "$apk_path" "$package_name.apk" | |
apktool d -f -o "$package_name" "$package_name.apk" | |
mv "$package_name/AndroidManifest.xml" "$package_name/AndroidManifest.bak.xml" | |
sed -E "s|$MANIFEST_RE|\1 android:debuggable=\"true\">|" \ | |
"$package_name/AndroidManifest.bak.xml" > "$package_name/AndroidManifest.xml" | |
apktool b -o "$package_name.apk" "$package_name" | |
keytool -genkey -v \ | |
-keystore "$package_name.keystore" -storepass "$storepasswd" \ | |
-alias "${app}_debuggable" -keyalg RSA -keysize 2048 -validity 10000 \ | |
-dname "$DNAME" | |
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 \ | |
-keystore "$package_name.keystore" -storepass "$storepasswd" \ | |
"$package_name.apk" "${app}_debuggable" | |
adb shell cmd package uninstall -k "$package_name" | |
adb install -r "$package_name.apk" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment