You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

LOS 14.1下如何用adb将应用安装到格式化为内部存储的SD卡

解决LOS 14.1下adb无法将应用安装到内部存储化SD卡的问题

我之前在LOS 14.1上也碰到过一模一样的问题——SD卡已经格式化为「内部存储」,但adb install -s死活装不上,不用参数又直接占满内置存储,那些明明能在设置里移去SD卡的应用也不行。折腾了好一阵,总结出几个亲测有效的方案:

方案1:指定SD卡内部存储的具体路径安装

有时候-s参数没法正确识别SD卡的内部存储挂载路径,咱们先自己找对路径再安装:

  1. 先执行命令查看设备的存储分区信息:
adb shell df
  1. 在输出里找标注为内部存储的SD卡路径,通常是/storage/emulated/1或者/data/media/1(不同设备可能略有差异,认准SD卡的容量大小就能区分)
  2. 用指定路径的命令安装APK:
adb install -r -d -p /storage/emulated/1 whatever.apk

这里的参数作用:

  • -r:覆盖已经安装的同包名应用
  • -d:允许安装版本低于当前的APK(如果是降级安装的话)
  • -p:手动指定安装路径,把上面找到的SD卡路径替换进去就行

方案2:修改系统默认安装位置到SD卡

如果不想每次都手动输路径,可以直接把默认安装位置改成SD卡内部存储,前提是你的设备已经获取root权限(LOS 14.1解锁后很容易获取):

  1. 执行命令修改全局存储偏好:
adb shell settings put global preferred_external_storage /storage/emulated/1
  1. 重启设备之后,再用普通的adb install whatever.apk命令,应用就会默认装到SD卡了

方案3:重新格式化SD卡为内部存储

有时候SD卡格式化为内部存储后会出现挂载异常,导致adb识别失败,这时候可以重新格式化试试:

  • 进入LOS的「设置」→「存储」→选中你的SD卡→点击「格式化内部存储」,按照提示完成操作
  • 格式化完成后重启设备,再尝试用adb install -s whatever.apk命令安装,大概率能解决问题

额外提醒

  • 一定要确认你要安装的APK确实支持安装到外部存储(也就是你说的能在设置里移到SD卡的应用),有些系统核心应用或者特殊权限应用本身就只能装在内置存储,强行移动会报错
  • 如果已经root,也可以用第三方应用管理工具(比如钛备份)来强制迁移应用到SD卡,但adb命令的方式更直接高效

内容的提问来源于stack exchange,提问作者Nobody

火山引擎 最新活动