手动备份已安装的apk

需求:

Android手机安装apk后,有时需要备份apk的应用和数据。

背景

先了解下apk应用数据保存路径:

  • system/app
    此类应用是系统初始化时候安装完成的, 存放在 ‘system/app’ 目录下, 用户无法删除及操作.
  • data/app
    通过market下载后安装(无安装界面),或是用户手动安装(adb,packageinstall等).这类apk安装过程系统会备份在data/app目录下
  • /mnt/asec/
    安装到sd卡上的应用,作用同上
  • data/data
    应用安装过程,会在该目录下存在应用的私有数据
  • data/dalvik-cache
    应用安装过程中,会解析data/app下的安装包中的dex文件, 拷贝到data/dalvik-cache,以备应用运行时使用.
  • mnt/sdcard/Android/data
    存放apk的数据文件

方法

  • 备份apk
    备份一个apk,如果只是备份apk本身而不需要数据,只需要拷贝data/app目录下的包名文件。
    adb pull data/app/'packageName'/'xxx.apk' 'localPath'
    查看包名:
    adb shell pm list packages
    但会列出很多包名,包括系统包名。
    如果是已经root的设备,可以直接入到data/app目录下查看包名:
cd /data/app
  • 备份apk数据
    apk数据存放在mnt/sdcard/Android/data目录下,也就是进入文件管理器的主目录下的/Android/data目录。对应的包名即是apk的数据。

恢复到设备

apk备份后直接安装应用到设备即可,而对于应用的数据,需要将mnt/sdcard/Android/data目录下的包名文件拷贝到对应的目录即可。

你可能感兴趣的:(手动备份已安装的apk)