Created
January 8, 2020 12:26
-
-
Save MacKentoch/677af9d2e69de799517c672883a8df27 to your computer and use it in GitHub Desktop.
Make an android app debugabble and reinstall
This file contains hidden or 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