September 7, 2014

Android 4.4.xの外部SDカード対策(?)

KitKatから外部SDカードへ書込みが出来なくなり、(個人的には)とても困りました

書込みが出来るように弄ったので、それの自分用メモとして



今回はHTL23で説明です。

※root前提

※今回は直接ファイルを弄ってますが、Xposedのモジュールでも同じことができるそうです。
(xda) [APP][4.0.3+][XPOSED] HandleExternalStorage


参考
(xda) [GUIDE] Enable micro SD Card writing on KitKat android


手順

adb等で/system/etc/permissions/platform.xmlを引っこ抜く
adb pull /system/etc/permissions/platform.xml

Notepad++等で開き、62行目以降に書かれている、
    <permission name="android.permission.READ_EXTERNAL_STORAGE">
        <group gid="sdcard_r">
    </group></permission>
の箇所に、<group gid="media_rw" />を追記し、
    <permission name="android.permission.READ_EXTERNAL_STORAGE" >
        <group gid="sdcard_r" />
        <group gid="media_rw" />
    </permission>
のように変更。

同じように、67行目以降にある、WRITE_EXTERNAL_STORAGEの部分に追記し、
    <permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
        <group gid="sdcard_r" />
        <group gid="sdcard_rw" />
        <group gid="media_rw" />
    </permission>
のように変更。

79行目以降にある、WRITE_MEDIA_STORAGEの部分に、<group gid="sdcard_rw" />を追記し、
    <permission name="android.permission.WRITE_MEDIA_STORAGE" >
        <group gid="media_rw" />
        <group gid="sdcard_rw" />
    </permission>
のように変更し、保存する。

後は、adb等で端末に戻します。
$ adb shell
shell@htc_b2wlj:/ $ su
su
root@htc_b2wlj:/ # mount -o remount,rw /system /system
mount -o remount,rw /system /system
root@htc_b2wlj:/ # dd if=/sdcard/platform.xml of=/system/etc/permissions/platform.xml
/system/etc/permissions/platform.xml
15+1 records out
8117 bytes transferred in 0.002 secs (4058500 bytes/sec)
root@htc_b2wlj:/ # chmod 644 /system/etc/permissions/platform.xml
chmod 644 /system/etc/permissions/platform.xml
root@htc_b2wlj:/ # reboot

これで外部SDカードへ書き込みが出来るようになりました


No comments:

Post a Comment