m0_64562956 2024-04-25 21:48 采纳率: 0%
浏览 40
已结题

安卓adb backup备份子用户应用数据失败

一加6手机,未获取root权限

因为应用是在子用户!

adb shell pm path 命令也查不到安装包位置。
直接用了adb backup,备份导出只有1KB。(adb版本换了三个,所以应该是权限的问题吧)
第一,知道可能要将apk中AndroidManifest.xml中的allowBackup属性改为true,但是不知道如何操作。我菜不会操作Android Studio…(很抱歉)
第二个,是否可以在保存数据的情况下root手机?之前装了360root但是没用,压根打不开360root。

求帮忙!有偿!

  • 写回答

21条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-04-25 21:48
    关注
    获得1.50元问题酬金

    引自免费微信小程序:皆我百晓生

    为了解决您遇到的安卓ADB备份子用户应用数据失败的问题,您可以尝试以下步骤:

    步骤1:检查应用的allowBackup属性

    虽然您表示不熟悉Android Studio,但为了确保应用支持备份,我们需要查看其AndroidManifest.xml文件中allowBackup属性的设置。通常情况下,此属性默认为true,但如果被设置为false,则可能导致无法备份。请按照以下步骤操作:

    1. 下载并安装适用于您电脑操作系统的最新版Android Studio(下载链接)。

    2. 安装完成后,打开Android Studio。

    3. 点击菜单栏的"File" > "New" > "Import Project",然后选择您要备份的应用的APK文件。

    4. Android Studio会自动解压并导入项目。等待导入完成。

    5. 导入后,在左侧的"Project"窗口中,展开您的项目结构,找到并打开app/src/main/AndroidManifest.xml文件。

    6. 在打开的AndroidManifest.xml文件中,查找是否存在如下代码片段:

      <application
          android:allowBackup="true/false"
          ...
      </application>
      

      如果存在且android:allowBackup值为false,将其更改为true,保存更改。

      注意: 由于您没有开发环境,无法直接修改APK文件。若确认该属性为false且需要修改,您可能需要联系应用开发者或寻找可编辑APK工具进行修改(但这涉及到版权和安全风险,建议仅在您拥有该应用源码或得到开发者许可的情况下进行)。

    步骤2:尝试备份子用户应用数据

    如果应用已确认支持备份或您无法修改其allowBackup属性,接下来尝试通过ADB备份子用户应用数据。由于一加6手机未获取root权限,我们需使用特殊命令尝试备份:

    1. 确保您的设备已开启USB调试,并通过USB连接至电脑。

    2. 打开终端(命令提示符、PowerShell、Git Bash等),进入ADB工具所在目录(通常位于<Android SDK路径>/platform-tools)。

    3. 使用以下命令切换到子用户:

      adb shell run-as <package_name>
      

      <package_name> 替换为您要备份的应用的包名(可通过Google Play商店链接、应用详情页或第三方应用管理器获取)。

    4. 在子用户环境中尝试备份数据:

      cp -r /data/data/<package_name> /sdcard/
      

      这条命令将尝试将应用数据复制到SD卡(如果设备有外部存储)。请确保设备已连接至电脑,并授予访问SD卡的权限。

    5. 退出子用户环境:

      exit
      
    6. 从设备中拉取备份文件到电脑:

      adb pull /sdcard/<package_name> <backup_destination_folder>
      

      <package_name> 替换为实际应用包名,将 <backup_destination_folder> 替换为您想保存备份文件的本地路径。

    步骤3:考虑临时获取root权限

    对于部分设备,可能存在临时获取root权限的方法以备份应用数据。由于您提到360root未能成功,这里提供另一种方法:

    1. 下载并安装Magisk Manager(官网链接)到您的设备上。
    2. 安装完成后,打开Magisk Manager,按照提示进行临时root权限的获取。请注意,这种方法可能对设备保修产生影响,且并非所有设备都支持。

    一旦临时获取root权限成功,您可以尝试使用ADB备份命令(如adb backup -apk -shared -all -f <backup_file_name>.ab)备份整个系统数据,包括子用户应用数据。

    总结:

    • 检查应用的allowBackup属性,确认其是否支持备份。如需修改但无开发环境,请联系应用开发者或谨慎使用第三方APK编辑工具。
    • 使用ADB尝试在子用户环境中复制应用数据到SD卡,再通过ADB pull命令拉取到电脑。
    • 考虑使用Magisk Manager临时获取root权限,然后使用ADB备份命令备份所有数据。

    以上步骤仅供参考,实际效果可能因设备型号、系统版本及应用特性差异而有所不同。操作前请备份重要数据,以防万一。祝您成功备份所需应用数据。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月3日
  • 创建了问题 4月25日