新しいおもちゃ
先週末に国内発送ありで販売された「ZTE Open」が到着。
スペック的なものなのか、やっぱり動作に引っかかり感があるのは仕方ないところかな?
Nexus SにFirefox OS焼いた時もこんな動作だったからなぁ…。
あとは、この端末の初期イメージ…というかリカバリ手段はどうするのか。
adb shellとかadb reboot bootloader、adb reboot recoveryにfastboot devicesは普通にいけるのね。
Nexus 7 LTE (2013) rooted
ちゃちゃっとbootloader unlockしてSuperSUのインストールを。
※自己責任で実施してください。
bootloader unlock
Nexusシリーズ共通の方法で。
adb reboot bootloader fastboot oem unlock
端末側に「ホントにunlockするの?」て聞かれてるので「yes」を選択。
実行すると初期化されるのでご注意を。
SuperSUのインストールの準備
端末再起動後、SDカードにUPDATE-SuperSU-v1.65.zipをコピーしておく。
どこぞからopenrecovery-twrp-2.6.0.0-deb.imgを入手。
自分はNexus Root Toolkitから取得。
ディレクトリ関連メモ
よく忘れるので自分で見れるようにまとめ。
Context#getExternalFilesDir(String type);
これだと外部ストレージの /Android/data/{パッケージ名}/files 以下を取得。
アプリをアンインストールすると、ここのパスにあるファイルも削除される。
Environment#getExternalStoragePublicDirectory(String type);
こっちは外部ストレージ直下のtypeを取得。(例:/sdcard/Downloads)
Environment#getExternalStorageDirectory();
言わずと知れた外部ストレージのパスを取得。
Context#getFileStreamPath(String name);
内蔵ストレージ(アプリ固有パス)を取得。
package com.example.folder; import java.io.File; import android.os.Bundle; import android.os.Environment; import android.app.Activity; import android.util.Log; import android.view.Menu; public class MainActivity extends Activity { private static final String TAG = "DIRS"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); File f = getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_ALARMS); Log.i(TAG, "DIRECTORY_ALARMS=" + f.getPath()); f = getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_DCIM); Log.i(TAG, "DIRECTORY_DCIM=" + f.getPath()); f = getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS); Log.i(TAG, "DIRECTORY_DOWNLOADS=" + f.getPath()); f = getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_MOVIES); Log.i(TAG, "DIRECTORY_MOVIES=" + f.getPath()); f = getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_MUSIC); Log.i(TAG, "DIRECTORY_MUSIC=" + f.getPath()); f = getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_NOTIFICATIONS); Log.i(TAG, "DIRECTORY_NOTIFICATIONS=" + f.getPath()); f = getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_PICTURES); Log.i(TAG, "DIRECTORY_PICTURES=" + f.getPath()); f = getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_PODCASTS); Log.i(TAG, "DIRECTORY_PODCASTS=" + f.getPath()); f = getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_RINGTONES); Log.i(TAG, "DIRECTORY_RINGTONES=" + f.getPath()); f = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_RINGTONES); Log.i(TAG, "DIRECTORY_RINGTONES=" + f.getPath()); f = Environment.getExternalStorageDirectory(); Log.i(TAG, "ExternalStorageDir=" + f.getPath()); f = getApplicationContext().getDir("hoge", MODE_APPEND); Log.i(TAG, "getDir=" + f.getPath()); f = getApplicationContext().getFileStreamPath("foo.txt"); Log.i(TAG, "getFileStreamPath=" + f.getPath()); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } /* 08-26 22:48:01.461: I/DIRS(32598): DIRECTORY_ALARMS=/storage/sdcard0/Android/data/com.example.folder/files/Alarms 08-26 22:48:01.461: I/DIRS(32598): DIRECTORY_DCIM=/storage/sdcard0/Android/data/com.example.folder/files/DCIM 08-26 22:48:01.461: I/DIRS(32598): DIRECTORY_DOWNLOADS=/storage/sdcard0/Android/data/com.example.folder/files/Download 08-26 22:48:01.461: I/DIRS(32598): DIRECTORY_MOVIES=/storage/sdcard0/Android/data/com.example.folder/files/Movies 08-26 22:48:01.461: I/DIRS(32598): DIRECTORY_MUSIC=/storage/sdcard0/Android/data/com.example.folder/files/Music 08-26 22:48:01.461: I/DIRS(32598): DIRECTORY_NOTIFICATIONS=/storage/sdcard0/Android/data/com.example.folder/files/Notifications 08-26 22:48:01.461: I/DIRS(32598): DIRECTORY_PICTURES=/storage/sdcard0/Android/data/com.example.folder/files/Pictures 08-26 22:48:01.461: I/DIRS(32598): DIRECTORY_PODCASTS=/storage/sdcard0/Android/data/com.example.folder/files/Podcasts 08-26 22:48:01.461: I/DIRS(32598): DIRECTORY_RINGTONES=/storage/sdcard0/Android/data/com.example.folder/files/Ringtones 08-26 22:48:01.461: I/DIRS(32598): DIRECTORY_RINGTONES=/storage/sdcard0/Ringtones 08-26 22:48:01.461: I/DIRS(32598): ExternalStorageDir=/storage/sdcard0 08-26 22:48:01.461: I/DIRS(32598): getDir=/data/data/com.example.folder/app_hoge 08-26 22:48:01.461: I/DIRS(32598): getFileStreamPath=/data/data/com.example.folder/files/foo.txt */ }
Xperia GX (SO-04D) 7.0.D.1.137のFTF作成
前回、初期ROMをバックアップしたっきりてのもあって137のFTFを作っておくかと。
FlashtoolはXDAで公開されてる0.9.10.2bata5を使用。
SUSで初期化した際に取得できた137のROMは以下。
FILE_279063644 FILE_279654861 FILE_279655006
ext4対応されたFlashtoolなのでソフトはこれひとつで作成できて楽ちんに。
decrypt
Tooles > SEUS Decrypt
FILE_xxxxxxxxxの3つをおいたディレクトリを選択して、ファイルすべてを右側に。
create
復号化が完了するとBundlerウィンドウが起動。
partition-image_S1-SW-LIVE-7054-PID1-0002-MBR.sin
simlock.ta
上記ふたつを残してすべて右側に。
Device | SO-04D |
---|---|
Branding | docomo |
Version | 7.0.D.1.137 |
21/023/2013 13:23:40 - INFO - <- This level is successfully initialized 21/023/2013 13:23:40 - INFO - Flashtool Version 0.9.10.2beta5 built on 2013-04-13 22:50:00 21/023/2013 13:23:45 - INFO - Device disconnected 21/023/2013 13:23:56 - INFO - Decrypting FILE_279063644 21/023/2013 13:23:56 - INFO - Decrypting FILE_279654861 21/023/2013 13:23:56 - INFO - Decrypting FILE_279655006 21/024/2013 13:24:13 - INFO - Decryption finished 21/024/2013 13:24:57 - INFO - Adding loader.sin to the bundle 21/024/2013 13:24:57 - INFO - Adding kernel.sin to the bundle 21/024/2013 13:24:57 - INFO - Adding system.sin to the bundle 21/025/2013 13:25:26 - INFO - Adding fotakernel.sin to the bundle 21/025/2013 13:25:26 - INFO - Adding amss_fs_2.sin to the bundle 21/025/2013 13:25:26 - INFO - Adding amss_fs_1.sin to the bundle 21/025/2013 13:25:26 - INFO - Adding apps_log.sin to the bundle 21/025/2013 13:25:26 - INFO - Adding tzbsp.sin to the bundle 21/025/2013 13:25:26 - INFO - Adding amss_fsg.sin to the bundle 21/025/2013 13:25:26 - INFO - Adding userdata.sin to the bundle 21/025/2013 13:25:27 - INFO - Adding cache.sin to the bundle 21/025/2013 13:25:27 - INFO - Bundle creation finished