安卓 通过adb将TF(SD)卡用作内置存储

手上有个360 N6,平时当备用机,存点音乐视频什么的,存储空间不太够,于是乎买了张TF卡插上。(其实应该去看看紫光的超级SIM卡能不能用的,深圳联通公众号上也发可以参加预存话费赠卡的活动了)

我的第一部智能手机买的是黑莓Priv,插卡之后会提示格式化成外置的便携式存储(可以拔出来在不同设备,比如电脑上交换数据)还是内置存储(不能用在其它机器上),并且使用非常正常。

好了问题来了,N6插卡之后只能格式化成外置存储(?),这就很蛋疼,插卡的意义似乎就不大。后面发现其实可以用adb开启,虽然好像还是有点问题。

But how?

可以用sm来做到。

首先连续多次点按设置->系统->关于手机->版本号,打开开发者选项,然后在开发者选项打开USB调试。此时可以把手机连接到电脑上了。

我正在使用Android Studio,安装过Android SDK,可以直接在C:\Users\domain\AppData\Local\Android\Sdk\platform-tools中找到adb工具。没有也没关系,从SDK平台工具版本说明 | Android 开发者 | Android Developers可以下载到独立的工具包。

已经有了platform-tools之后,进入该目录,按住Shift再点击鼠标右键可以在该目录打开PowerShell。此时运行:

PS C:\Users\domain\AppData\Local\Android\Sdk\platform-tools> .\adb.exe devices
List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully
1f95707d        unauthorized

显示未授权,此时手机上应该会弹窗是否允许电脑进行调试(以及一个密钥),允许后再次执行:

PS C:\Users\domain\AppData\Local\Android\Sdk\platform-tools> .\adb.exe devices
List of devices attached
1f95707d        device

此时可以:

PS C:\Users\domain\AppData\Local\Android\Sdk\platform-tools> .\adb.exe shell
QK1707:/ $

有了手机的Shell了,尝试sm工具查看存储:

QK1707:/ $ sm list-disks
disk:179,64

如果手机允许:

QK1707:/ $ sm has-adoptable
true

反之则可能需要尝试sm set-force-adoptable true。接下来 就可以:

QK1707:/ $ sm partition disk:179,64 private

来将存储卡格式化为内置存储。如果执行:

QK1707:/ $ sm partition disk:179,64 mixed 30

可以将部分空间格式化为内置存储,另一部分(30%)作为便携式存储。

此时可以在设置中看到存储卡已经被设置为内置存储了。发现容量显示有问题,而且迁移也有点问题。网友分享格机后,安装应用不要打开马上迁移就没有问题。决定这几天格机再试一下。

引用:
android – How to turn a portable SD card into internal storage via ADB command? – Stack Overflow
透過ADB方式開啟與配置Adoptable Storage空間(免root) @ 老梁’s blog :: 隨意窩 Xuite日誌
360N7Lite免root安装应用到内存卡的方法及其它玩机教程-更新自动安装到内存卡_360社区

第14年 最大值室

输出两个数中较大的那个,相等则输出任意一个。

前三行仍然是为了合并才放上去的。

如果04行输入是a(05行保存到寄存器0),06行输入是b。当(b-a)<0,即a>b的时候08行跳转02行,此时复制寄存器0的a并输出。反之,即b>=a的时候,09行会先把(b-a)+a=b,就是还原b(因为没有保存),然后10行跳转03行直接输出。

第12年 四十倍扩大器

40倍可以考虑是5个8倍,即:40=5*8=(4+1)*(2*2*2)=4*(2*2*2)+(2*2*2)。

02和03行乘2,04和05行乘2,06和07行乘2,此时8倍。

由于要凑4+1个,所以应该存一份8倍的数值(08行),不用存两份(不用存寄存器0),因为可以用寄存器1的值乘2后再放回寄存器0。

08和09行乘2,10和11行乘2,已经8*4了,12行再把之前放在寄存器1的8倍加上就刚好8*5了。