ラベル Xperia の投稿を表示しています。 すべての投稿を表示
ラベル Xperia の投稿を表示しています。 すべての投稿を表示

2014年9月28日日曜日

android sony xperia A(SO-04E)のルート化 その2

前回 Xperia A SO-04E 10.3.1.B.0.256を
http://kokawa2003.blogspot.jp/2014/07/android-sony-xperia-aso-04e.html
ここで書いたとおりルート化したわけなのだが
その後まもなくしてSonyが新アップデート
https://www.nttdocomo.co.jp/support/utilization/product_update/list/so04e/index.html
SO-04E XPERIA A 10.3.1.B.2.13
を出したので当然アップグレードしようとした。

しかし何回androidの側で画面からアップグレードしても失敗するので
USBでPCとつないでPC Companionの方からすると今回は成功。
ルート化と失敗とは関係するのかわからないが、とりあえず成功したから
良しとする。

ただこれで再びルート化する前の状態に戻ってしまったので再びルート化した。
参考にしたのはこれ
http://win-droid.blogspot.jp/2014/08/so-04e-xperia-1031b213rootcwm.html
あっさりうまくいった。
時間にして10分前後。

がっくりしたのはAndroidのバージョンが4.2.2で変わらなかったこと。
iPhoneだと更新すると必ず変わるのに。

今回の締めとしてuname -a の結果を残しておく
uname -a
Linux localhost 3.4.0-ge3206b72 #1 SMP PREEMPT Fri Apr 11 15:44:06 2014 armv7l GNU/Linux
前回が
3.4.0-g7eaf37a BuildUser@BuildHost #1 Tue Sep 24 19:49:12 2013
だからカーネルも変わってない。

2014年9月22日月曜日

androidの"空き容量が不足しています "エラーについて

私のxperia(SO-04E)なのだが、いつからかわからないが
Google playからソフトを更新するときに
” 空き容量が不足しています”
のエラーを出してアップデート失敗するようになっていた。
それもtwitterとかLineとかfirefoxとかfacebookとか重要なアプリに限って出しやがるので困っていた。
ただどうでもいいアプリは普通にインストールできたので空き容量のせいではない
とは思っていたが、もうスマホ自体嫌になってたので考える気がなかった。

この不具合なのだがWEBで調べると、
”アプリを入れ過ぎなのでアンインストールしましょう。”
的な解決策が出てるが、私の場合、新規のインストールはできるので
絶対にこれとは違うのはわかっていた。が、他の対策も知らないので
他のアプリをアンインストールしてアップデートしたりしてみたが、できないままだった。

この不具合が困るのは勝手にアップデートが始まるので負荷(+いくばくかのお金)
がかかるのと、ムカついてアンインストールするとその後インストールできなくなって
アプリが二度と使えなくなる点だった。
他の解決策として”キャシュをクリア”、”履歴をクリア”
とかの要らないデータを削除する解決策もやって見たがダメ
このまま放置していた。

そもそもこの不具合なのだがeclipseでメモリ監視していると、空きメモリが充分でも出しやがる
だから絶対空き容量(ROM,RAM両方)のせいではないとは思っていた。
そもそもSDカードつけても出すし。
RAM増やさないとだめなのか?とは考えてたが、ある理由であっさり解決した。

そもそもアプリをインストールするとデータが/data/app-lib/[アプリ名]に書かれる。
このデータ、時々アプリをアンインストールしても残る。理由は分からん。それが仕様か?
なおこのフォルダだが”ES ファイルエクスプローラー”とかのrootアクセスできるやつで
rootをON にしないと見えないので注意
あと[アプリ名]だがこれはブラウザーでそのアプリのgoogle playのページを開くとURLからわかる。
ツイッターだとURLが
https://play.google.com/store/apps/details?id=com.twitter.android&hl=ja
だから、この場合[アプリ名]はcom.twitter.androidとなる。

なわけでツイッターの場合
/data/app-lib/com.twitter.android-1
みたいなフォルダがある
(おしりの-1も謎/data/app-lib/com.twitter.android-2とかもあったりする)
これアンインストールしてものこる。
ubuntuの設定ごと削除的な便利機能は調べた限りではない。
つまりandroidではアプリをアンインストールしてもインストール前の状態には完全には戻らない(ことがある)。

そこで結論だが、このフォルダを削除するとアップデートやインストールできるようになる。
削除が怖い人はrenameすればいい。
つまり ”空き容量が不足しています”とは”アプリのファイルがあるからインストールできない”
という意味らしい。そのIT用語がわかる人いるのか?

root化してない人はどうすればいいのか?それは不明
そもそもroot化しないと起こらないのかもしれない。
なにかこれをする便利ソフトがあるのかもしれないがすくなくとも私は知らない

空き容量が不足しています という言葉にだまされてえらい目にあった。
明らかに不親切だとおもう。




2014年7月15日火曜日

android sony xperia A(SO-04E)のルート化

去年の9月頃sony xperia A(SO-04E)を買って今日まで頑張って遊んできたわけだが
そろそろ限界に達した。そこでroot化してみることにした。
真似してやる人はSONYに保証してもらえなくなるかもなので注意


ネットで調べるとこれ手順としては
①root化
②busybox  インストール (CUIコマンドを入れる)
③CWM インストール (バックアップ可能にする)
ぐらいしておくとほぼ手続きとして完璧らしい。
全部うまくいったので順に説明します。

そのまえにまずubuntuでなくwindows pcが必要です。
ubuntuでもできるはずだがインストーラがwindows用batファイルなのだ。
その中でadbでandroidにアクセスするだけなので
shellスクリプトにかきなおせばいいのだが、書き直すのに失敗して文鎮化するのは嫌だろう。
というわけでbatファイルがそのままいけるwindows pcが必要です。
みつけたら試しにUSB接続してSO-04Eをエクスプローラーが認識することを確認
更にSO-04EをUSBデバッグONにしておきます。


順に説明
①root化
http://cubeundcube.blogspot.jp/2013/12/xperiarootgx-amiku.html
このページを参考にした。
私のは
Xperia A SO-04E 10.3.1.B.0.256
なので、いけるハズってのをチェックしていた。
このようにルート化手法はandroidの種類で違う。
昔Nexusでもやったがそれもこれとは違うやり方だった

前処理としてadbが使えるのを確認
(使えない場合android SDKをインストールしてadbにパスを通す)

以下のどちらかのファイル
https://www.dropbox.com/s/crz4845jchb12wn/rootkitXperia_20131207.zip
http://sdrv.ms/19nNlsJ
をダウンロードして得られる
rootkitXperia_20131207.zip
を解凍。

中にある「install.bat」をダブルクリックして実行。
自動的に処理が進み、端末が再起動され、PC側で「--- all finished ---」と出れば完了。

画面に

こんなアイコン出ます 。

実行のログはこんな感じ


C:\Users\kouji\Downloads\rootkitXperia_20131207>install.bat
--- Xperia rootkit 2013/12/07 ---

waiting for device...
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
867 KB/s (17768 bytes in 0.020s)
2759 KB/s (113036 bytes in 0.040s)
2584 KB/s (2278361 bytes in 0.861s)
2529 KB/s (1165484 bytes in 0.450s)
0 KB/s (148 bytes in 1.000s)
251 KB/s (2578 bytes in 0.010s)

getroot start.
ro.build.product=SO-04E
ro.build.id=10.3.1.B.0.256
search kallsyms...
1 2 3 4
(kallsyms_addresses=c0897380)
(kallsyms_num_syms=0000f8d3)
kernel dump...
1 2 3 4 5 6 7 8 9
analyze ptmx_open...
search ptmx_fops...

prepare_kernel_cred=c00a302c
commit_creds=c00a2b50
ptmx_fops=c0f49568

Succeeded in getroot!

mount: Device or resource busy
220+1 records in
220+1 records out
113036 bytes transferred in 0.007 secs (16148000 bytes/sec)
4449+1 records in
4449+1 records out
2278361 bytes transferred in 0.130 secs (17525853 bytes/sec)
2276+1 records in
2276+1 records out
1165484 bytes transferred in 0.077 secs (15136155 bytes/sec)
0+1 records in
0+1 records out
148 bytes transferred in 0.001 secs (148000 bytes/sec)

removing temporary files...

rebooting...
waiting for device...

--- all finished ---
続行するには何かキーを押してください . . .

C:\Users\kouji\Downloads\rootkitXperia_20131207>

②続いてbusybox
 https://play.google.com/store/apps/details?id=com.jrummy.busybox.installer
これをインストール
途中root権限が要求されます。

③CWM
これを参考にしました
まず私のandroid は4.2.2なので 以下のファイルをダウンロード
 http://www.mediafire.com/download/qmxwiyrxgzzr3kv/CWM6-cDM_v2.5.zip
このCWMも製品ごとに最新版はことなるらしい。
 そのあと解凍(なお4.3の人はこれより新しいのがあるので探してください)

cwm-install.bat を起動
途中android側でルートアクセスが要求されるので注意

こんなログが出ます。
----------------------------------------------------------------------
CWM-based Recovery v6.0.3.2
cray_Doze Mod for Xperia v1.3
with btmgr scripts v1.0
installer package version 2.5
by @cray_Doze
----------------------------------------------------------------------

----------------------------------------------------------------------
対応端末(Support devices)
*(japanese locked models)
- arc/acro/ray/NX/acroHD/ GX /SX/AX/VL/Z/UL/A
*(same or similar global locked models)
- arc/----/ray/S /acroS /TX/T/--/ V /Z/ZL/ZR
----------------------------------------------------------------------
続行するには何かキーを押してください . . .
----------------------------------------------------------------------
概要
- btmgr scripts v1.0
+ recoveryに入るためのキーをカスタマイズできます
(/system/btmgr/etc/action.cfg)
+ 私のもしくは他の人のrecoveryを好みで使い分けできます
(/system/btmgr/etc/bootrecovery.cfg and action.cfg)
(他の人のrecovery.tarか相当のものを/system/recovery/???に配置要)
- CWM-based Recovery v6.0.3.2
- [UP!] cray_Doze mod v1.3
+ settingsメニュー追加
+ choose default recovery's fontメニュー追加
(settings->choose default recovery's font)
+ choose default confirmメニュー追加
(settings->choose default confirm)
+ [UP!] choose default nandroid progressメニュー追加
bar-onlyモード(default)新設
(settings->choose default nandroid progress)
+ 2011モデルサポート追加
+ power offメニュー追加
+ 電源ボタンでのkey testからの復帰
+ datamedia型の端末(例 Z)での「mount USB storage」のサポート
+「reboot recovery」を「reboot CWM Recovery」に変更
+ タイムゾーンのサポート(persist.sys.timezoneに依存)
----------------------------------------------------------------------
続行するには何かキーを押してください . . .

----------------------------------------------------------------------
謝辞(Thanks)
Koush for recovery sources
CyanogenMod and FreeXperia team for related sources and environ.
DooMLoRD (I referred to some files in his ramdisk.)
goro_tsukiyama and nao3shogun for debug
huhka_com (I referred to runme.bat in his rootkit.)
----------------------------------------------------------------------

----------------------------------------------------------------------
[*]PCの必要条件:
(1) USBドライバインストール済
[*]端末の必要条件:
(1) root化済
(2) busyboxインストール済
(3) 「USBデバッグ」の有効化済
----------------------------------------------------------------------

----------------------------------------------------------------------
※インストールを開始します。(中止の場合は「ctrl-c」で止めてください)
----------------------------------------------------------------------
続行するには何かキーを押してください . . .
端末を接続してください。
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
234 KB/s (2403 bytes in 0.010s)
4488 KB/s (2849695 bytes in 0.620s)
18 KB/s (571 bytes in 0.030s)

----------------------------------------------------------------------
CWMのインストールに成功しました。
----------------------------------------------------------------------
CWM Recoveryへの入り方
端末起動時、青LED点灯中にいずれかのボタンを押下。
----------------------------------------------------------------------
続行するには何かキーを押してください . . .

2013年12月29日日曜日

Sony Xperia AがUbuntu 12.04で認識されない件

最近スマフォに変えた。Ubuntu 13.10にUSBでつないでみるとすぐ認識して
テザリングできるのだが、Ubuntu 12.04につないだ時はそもそも認識しない。
dmsgでみてもおかしいのでなにかいじらないといけないのはたしかなので
その理由を追求する記事。
更に
#adb -d shell
としても
error: insufficient permissions for device
となる。SDKでデバッグできないので非常にこまる。
 

この現象だがネットで調べるといろいろひっかかるので手当たりしだいにやってみた。
1.
Xperiaの設定がおかしいのでは?という話がある
具体的には、
設定ー>Xperiaー>USB接続設定ー>USB接続モード
のことなのだが、MTP,MSCどちらに切り替えてもダメなので今回は違う。

 
2.
次にMTP接続用のリポジトリを入れろっていうのがある
http://jaisejames.wordpress.com/2013/02/06/connectmount-android-mobile-phone-internal-storage-in-linux/
抜粋すると
$sudo add-apt-repository ppa:langdalepl/gvfs-mtp
$sudo apt-get update
$sudo apt-get upgrade(もしくはsudo apt-get dist-upgrade)
これをやってもXperia Aは認識しないのでこれも違う
さらに
$sudo update-pciids
$sudo update-usbids
をやってもだめ 
 
3.
次にudevの設定をいじれってのがある
https://groups.google.com/forum/#!topic/android-discuss/-Fp5VkTmW1k
抜粋すると
$sudo vi  /etc/udev/rules.d/51-android.rules
中身は 
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
こうなっているので同じく最後に
SUBSYSTEM=="usb", SYSFS{idVendor}=="0fce", MODE="0666"
を追加(※)
このあと再起動すると
Nautilusからはまだ見えないがadb -d shellでは見えるようになる
よってこれが半分正解だった。
 
※0fceはベンダーIDのこと 
$lsusb を実行すると
Bus 002 Device 019: ID 0fce:5198 Sony Ericsson Mobile Communications AB 
のような表示がずらずらUSBデバイス分並ぶ。この
0fce:5198
の前半0fceがVendorID(なお後半の5198はプロダクトID)
 
追記
なぜか最近起動時のログを見ていると51-android.rulesが文法エラーですと言われている
のに気づいた。
http://thjap.org/android/xperia-series/152.html?PageSpeed=noscript
とかみると
# xperia x10
SUBSYSTEM=="usb", ATTR{0fce}=="612e", MODE="0666", GROUP="plugdev"
こう書くのが正しいらしい。 
書きなおすととまった。
 




 
4.
さらにudevの設定をいじれってのがある
http://forum.xda-developers.com/showthread.php?t=1574551
抜粋すると
$ sudo gedit /etc/udev/rules.d/69-libmtp.rules
私の場合ファイルがなく新規だった。
ATTR{idVendor}=="0fce", ATTR{idProduct}=="5198", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
を記入 (0fce と5198は3※を参照)
これで再起動するとnautilusでもやっと認識される

というわけでudevの設定をいじるだけでもいいのかもだが一応上このようにした。