Skip to content

Instantly share code, notes, and snippets.

@drewhannay
Created August 24, 2014 04:09
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save drewhannay/71aabbe565e1c89fe679 to your computer and use it in GitHub Desktop.
Save drewhannay/71aabbe565e1c89fe679 to your computer and use it in GitHub Desktop.
Simple shell script to pull, push, and list database files for an Android emulator or device
if [ $# -lt 1 ]
then
echo "Usage:"
echo " commands"
echo " setOptions \$databaseName \$packageName"
echo " ls"
echo " pull"
echo " push"
exit
fi
if [ "$1" = "setOptions" ]
then
if [ $# -ne 3 ]
then
echo "Usage: setOptions databaseName packageName"
fi
echo $2 > ~/.adbDbConfig # database name
echo $3 >> ~/.adbDbConfig # package name
exit
fi
dbName=$(cat ~/.adbDbConfig | head -1)
packageName=$(cat ~/.adbDbConfig | tail -1)
if [ "$1" = "ls" ]
then
adb shell run-as $packageName ls -l databases
fi
if [ "$1" = "pull" ]
then
echo "pulling $dbName from $packageName"
adb shell run-as $packageName chmod 666 databases/$dbName
adb pull /data/data/$packageName/databases/$dbName
adb shell run-as $packageName chmod 660 databases/$dbName
fi
if [ "$1" = "push" ]
then
echo "pushing $dbName from $packageName"
adb shell run-as $packageName chmod 666 databases/$dbName
adb push $dbName /data/data/$packageName/databases/$dbName
adb shell run-as $packageName chmod 660 databases/$dbName
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment