Archive and Unarchive app using rish

Archive and Unarchive App Using Rish

To archive:

~/rish/rish -c 'pm archive --user 0 com.example.app'

To unarchive:

~/rish/rish -c 'pm request-unarchive --user 0 com.example.app'

This will unarchive from Play Store.

To backup and restore locally:

Archive and backup:

# Create backup folder
~/rish/rish -c "mkdir -p /data/local/tmp/com.example.app"

# Delete old backup
~/rish/rish -c "rm -f /data/local/tmp/com.example.app/*"

# Copy all APK files
for p in $(~/rish/rish -c "pm path com.example.app" | cut -d: -f2); do
    ~/rish/rish -c "cp "$p" /data/local/tmp/com.example.app/"
done

# Archive
~/rish/rish -c "pm archive --user 0 com.example.app"

exit

Restore:

PACKAGE="com.example.app"
APK_DIR="/data/local/tmp/com.example.app"

# Install / unarchive with Play Store as installer
SESSION=$(~/rish/rish -c "pm install-create -i com.android.vending" | awk -F'[][]' '{print $2}')

for f in $APK_DIR/*.apk; do
    BASENAME=$(basename "$f")
    ~/rish/rish -c "pm install-write $SESSION $BASENAME $f"
done

~/rish/rish -c "pm install-commit $SESSION"

# Wait until install completes (optional)
while true; do
    OUT=$(~/rish/rish -c "pm path $PACKAGE")
    [ -n "$OUT" ] && break
    sleep 1
done

Tags: Android • Rish • Shizuku • Termux

Comments

Popular posts from this blog

Useful aliases

Enable Search Engine Friendly (Pretty URLs) in Yii2