RM-AT700MKでSDカードにアプリを移動する
~ /sdcardと/ext_sdのマウントを入れ換える方法(root化不要) ~
【前段】
スペックがしょぼい為に色々と酷評されてますが、肝心のナビアプリは使い物になります。
ただ、しゃべりはミクっぽくありませんが。。。
ナビ以外は一応普通のAndroidタブレットなので、軽いゲームやkobo等の電子書籍アプリを入れて使う分には問題がありません。で、ほいほいアプリを入れてたら容量不足のエラーが・・・。
32GBのmicroSDがもう一杯なのかと確認してみると、全然使われていないではないか(怒)
ん?でもSDに移せるアプリは全部移したはず・・・どうなってるんだ?
と、よくよく確認してみると・・・あんですとー!
Androidでは本来SDカードを挿すと自動または手動で/mnt/sdcardにマウントされるのはずなのだが、そこが内臓SSDの別区画というオチ。んじゃぁ、microSDはどこにマウントされているかというと/mnt/ext_sdになってた。OS側からは、/mnt/sdcardにしかアプリを移動できないので、/mnt/ext_sdはただのデータディレクトリとしてしか使えないという事に・・・_no
だったら、/sdcardと/ext_sdのマウントを入れ換えれば良いじゃない?
と、いう事でやってみた。
【重要】
・ここに記載の内容の実施にあたっては、くれぐれも自己責任でお願いします。
・最悪システムを破壊したりメーカーの修理が受けられない場合がありますのでご注意下さい。
・この手順実施後は、起動中にmicroSDの抜き差しを絶対にしなようにして下さい。
【前準備】
・まずは、PCに下記のソフトを入れる。括弧内は参考までに私が実際に使用したファイルです。
Java JDK(jdk-7u25-windows-x64.exe)
→普通にインストールするだけです。
Android SDK(adt-bundle-windows-x86_64-20130522.zip、android-sdk_r22.0.1-windows.zip)
→解凍後、「SDK Manager」を起動ししてExtras配下の「Google USB Driver」にチェックを入れてインストールする。要は「usb_driver」配下と、「sdk-platform-tools」配下の「 adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll」の3ファイルがあれば良いです。
・RM-AT700MKの「設定-アプリ」で、事前に各アプリでUSBストレージ側に移動してあるものは端末側に戻しておく。
・RM-AT700MKでUSBをデバッグモードに設定する。
・RM-AT700MKスリープ設定を切っておく。
・RM-AT700MKをPCにUSBで接続する。
・PCのDOS窓から「adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll」が格納しているディレクトリにカレントを移動してから「adb devices」を実行し、PCとの接続を確認する。
---
List of devices attached
xxxxxxxxxxxxxxxxxxxx device
---
・deviceが表示されない場合は、不明なデバイスとなっているので、ドライバをインストールする必要がある。
AndroidSDK内のandroid-sdk-windows\extras\google\usb_driverのandroid_winusb.infを開き、RM-AT700MKを追加(赤字部分)して保存する。
---
;
; Android WinUsb driver installation.
;
[Version]
Signature = "$Windows NT$"
Class = AndroidUsbDeviceClass
ClassGuid = {3F966BD9-FA04-4ec5-991C-D326973B5128}
Provider = %ProviderName%
DriverVer = 08/27/2012,7.0.0000.00001
CatalogFile.NTx86 = androidwinusb86.cat
CatalogFile.NTamd64 = androidwinusba64.cat
[ClassInstall32]
Addreg = AndroidWinUsbClassReg
[AndroidWinUsbClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-1
[Manufacturer]
%ProviderName% = Google, NTx86, NTamd64
[Google.NTx86]
;Google Nexus One
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01
;Google Nexus S
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E21
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E22&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E23
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E24&MI_01
;Google Nexus 7
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4E40
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E41
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E42
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E42&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E44&MI_01
;Google Nexus Q
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_2C10
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_2C11
;Google Nexus (generic)
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4EE0
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE1
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE3
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE4&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE5
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE6&MI_01
;RWC RM-AT700MK
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_DEED
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_DEED&MI_01
[Google.NTamd64]
;Google Nexus One
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01
;Google Nexus S
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E21
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E22&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E23
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E24&MI_01
;Google Nexus 7
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4E40
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E41
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E42
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E42&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E44&MI_01
;Google Nexus Q
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_2C10
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_2C11
;Google Nexus (generic)
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4EE0
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE1
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE3
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE4&MI_01
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE5
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE6&MI_01
;RWC RM-AT700MK
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_DEED
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_DEED&MI_01
[USB_Install]
Include = winusb.inf
Needs = WINUSB.NT
[USB_Install.Services]
Include = winusb.inf
AddService = WinUSB,0x00000002,WinUSB_ServiceInstall
[WinUSB_ServiceInstall]
DisplayName = %WinUSB_SvcDesc%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WinUSB.sys
[USB_Install.Wdf]
KmdfService = WINUSB, WinUSB_Install
[WinUSB_Install]
KmdfLibraryVersion = 1.9
[USB_Install.HW]
AddReg = Dev_AddReg
[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{F72FE0D4-CBCB-407d-8814-9ED673D0DD6B}"
[USB_Install.CoInstallers]
AddReg = CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles
[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll"
[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01009.dll
[DestinationDirs]
CoInstallers_CopyFiles=11
[SourceDisksNames]
1 = %DISK_NAME%,,,\i386
2 = %DISK_NAME%,,,\amd64
[SourceDisksFiles.x86]
WinUSBCoInstaller2.dll = 1
WdfCoInstaller01009.dll = 1
[SourceDisksFiles.amd64]
WinUSBCoInstaller2.dll = 2
WdfCoInstaller01009.dll = 2
[Strings]
ProviderName = "Google, Inc."
SingleAdbInterface = "Android ADB Interface"
CompositeAdbInterface = "Android Composite ADB Interface"
SingleBootLoaderInterface = "Android Bootloader Interface"
WinUSB_SvcDesc = "Android USB Driver"
DISK_NAME = "Android WinUsb installation disk"
ClassName = "Android Device"
---
・デバイスマネージャから不明なデバイスを選択し、上記android_winusb.infを指定しドライバをインストールする。
※途中で警告が出るが構わず入れる。
・再度、adb deviceを実行し、deviceが表示されればOK!
【手順】
・PCのDOS窓から下記コマンドを順番に実行し、/systemをrwで再マウントする。
※この手順を実行しないと書込み権限が無い為、/etc/vold.fstabの編集が出来ません。
adb shell
su
mount -o rw,remount /dev/block/ndda2 /system
mount
・mount(引数無し)実行後に下記表示(roになっていない事)があればOK!
/dev/block/ndda2 /system ext4 rw,relatime,barrier=1,data=ordered 0 0
・先程のDOS窓から下記コマンドを順番に実行し、vold.fstabのバックアップする。
※cpコマンドが無いので、catコマンドのリダイレクトで代用。
cd /etc
mv vold.fstab vold.fstab_org
cat vold.fstab_org > vold.fstab
・exitコマンド2回実行してadb shellから抜けます(DOSに戻る)。
・RM-AT700MKのESエクスプローラー(viコマンドが無い為)から/etc/vold.fstabを開き、下記のように編集(赤字部分を追加)し保存する。
---
# Internal SD card
#dev_mount sdcard /mnt/sdcard 11 /devices/virtual/block/ndda
dev_mount sdcard /mnt/sdcard auto /devices/platform/tcc-sdhc
# External SD card
#dev_mount ext_sd /mnt/ext_sd auto /devices/platform/tcc-sdhc
dev_mount ext_sd /mnt/ext_sd auto /devices/virtual/block/ndda
# External USB storage
dev_mount usb_sda /mnt/usb_sda1 all /devices/platform/dwc_otg /devices/platform/tcc-ohci /devices/platform/tcc-ehci
dev_mount usb_sdb /mnt/usb_sdb1 all /devices/platform/dwc_otg /devices/platform/tcc-ohci /devices/platform/tcc-ehci
---
・RM-AT700MKを再起動する。
・先程のDOS窓から下記コマンドを順番に実行し、/mnt/sdcardと/mnt/ext_sdのマウント先の容量を確認(赤字部分)する。
無事、/mnt/sdcardの容量がRM-AT700MKに挿したmicroSDの容量になっていればOK!
adb shell
df
---
shell@android:/ # df
df
Filesystem Size Used Free Blksize
/dev 185M 32K 185M 4096
/mnt/asec 185M 0K 185M 4096
/mnt/tmp 185M 0K 185M 4096
/mnt/obb 185M 0K 185M 4096
/system 295M 288M 6M 4096
/data 1007M 279M 728M 4096
/cache 147M 4M 143M 4096
/mnt/ext_sd 6G 6G 112M 16384
/mnt/sdcard 29G 5G 23G 32768
/mnt/secure/asec 29G 5G 23G 32768
/mnt/asec/com.kobobooks.android-1 40M 38M 2M 16384
/mnt/asec/kemco.wws.soe-1 34M 32M 2M 16384
/mnt/asec/com.natenai.glowhockey2proamazon-1 19M 17M 1M 16384
/mnt/asec/jp.co.zoo.mahjong.amazon-1 7M 5M 1M 16384
/mnt/asec/com.mobileroadie.app_1122-1 5M 3M 1M 16384
/mnt/asec/com.a0soft.gphone.app2sd-1 4M 2M 1M 16384
shell@android:/ #
---
・RM-AT700MKの設定-アプリで各アプリで、USBストレージ側に移動出来るものは移動する。
・RM-AT700MKESエクスプローラーで/mnt/sd_ext/mikunavi等の必要なものを/mnt/sdcardにコピーする。
・ミクナビや各アプリ動作を確認する。
・ミクナビの動作は軽く確認したが、他のアプリは一部動作しないものがあるかも。
・/mnt/ext_sd配下でもともと入っていたもの(mikunavi等)は削除しないよう注意が必要。
・動作がおかしいアプリは再インストールで正常動作する場合もあり。
・データが吹っ飛ぶ可能性があるので、microSDの抜き差しを起動中には絶対にしない事!
これで容量の心配をしないで良くなった(^_^v