如何将旧Android手机的应用文件复制到新手机/data/user/0/myApp/files目录?
解决将文件复制到Android应用私有files目录的方法
方法1:通过ADB命令复制
这是最直接的操作方式,步骤如下:
- 确保新手机开启USB调试(路径:设置-开发者选项-USB调试;若未显示开发者选项,先进入「关于手机」连续点击版本号开启)
- 将旧手机里的目标.txt文件传输到电脑本地
- 打开电脑的命令提示符/终端,执行以下命令:
- 先把电脑上的文件推送到手机公共临时目录(例如下载目录):
adb push 本地文件绝对路径 /sdcard/Download/ - 再将文件从临时目录移动到应用私有files目录:
adb shell run-as 你的应用包名 cp /sdcard/Download/目标文件名.txt /data/user/0/你的应用包名/files/
提示:「你的应用包名」需替换为实际值,比如
com.example.myapplication - 先把电脑上的文件推送到手机公共临时目录(例如下载目录):
方法2:临时修改应用代码添加导入功能
在你的应用中临时添加一段代码,实现从公共目录(例如下载目录)读取文件并复制到私有files目录,完成后可删除该代码:
// Kotlin示例代码 private fun copyFileToPrivateDir() { val sourceFile = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "目标文件名.txt") val destFile = File(filesDir, "目标文件名.txt") try { sourceFile.copyTo(destFile, overwrite = true) // 可添加复制成功的提示逻辑 } catch (e: IOException) { e.printStackTrace() } }
在应用界面添加一个按钮,点击时触发上述方法,之后将旧文件传到新手机的下载目录,打开应用点击按钮即可完成复制。
方法3:使用Android Studio的Device File Explorer
- 打开Android Studio并连接新手机
- 打开右侧的Device File Explorer(若未显示,可通过
View > Tool Windows > Device File Explorer调出) - 找到
/data/user/0/你的应用包名/files/目录(仅debug版本应用或已root手机可直接访问,release版本应用此方法可能无效) - 将电脑上的.txt文件直接拖拽到该目录即可
内容的提问来源于stack exchange,提问作者mpa




