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

2013年4月24日水曜日

Xperia SolaでClockWorkModを使ってバックアップ

前回、Galaxy NexusでClockWorkModを使ってバックアップを取ったので、今回はXperia Solaでバックアップを取った。
※ Xperia Solaはbootloaderがunlock状態になっていることが条件です。

1. Xperia Sola用ClockWorkModの入手

ClockWorkModの本家ではXperia Sola用のものはなく、xdaに落ちているものを取得してくる。
ファイル名のせいでちょっと「大丈夫か?」と疑ってしまったが、
試してみたら問題なかったので安心して使って大丈夫です。笑

2. Xperia Sola用標準kernelの入手

Galaxy Nexusの時は焼くことなく、一時的にClockWorkModを起動できたが、
Xperia Solaでは一度ROMに焼かなければいけないようなので、
元の状態に戻せるように標準のkernelをここからダウンロードしておく。

3. ClockWorkModをXperia Solaに焼く

Xperia Solaをfastbootモードにする。
# 電源を落とした状態のXpeira SolaのVolume Upを押下しながら、USBを接続する。
$ fastboot boot flash "1でダウンロードファイル"

4. ClockWorkModの起動

Xperia Solaを再起動した後に出る、"SONY"ロゴの画面でVolume Downを押し続ける。
本体が振動した後、ClockWorkModが起動する。

5. バックアップをとる

ClockWorkModで起動した後の手順は、通常のClockWorkModと同じなので割愛。
分からない方は、Galaxy Nexusの回の "4. ClockWorkModでバックアップ"を読んで頂けるとバックアップが取れると思います。


 


6. 標準kernelに戻す

バックアップ完了後、電源ボタン長押して本体の電源を一旦落とす。
fastbootモードでPCと接続してから、2でダウンロードしたファイルを展開した中にあるkernel.sinを焼く。

$ fastboot boot flash kernel.sin

7. バックアップした内容をPCに移す

6完了後に本体を再起動すると、通常通りandroidで起動する。
この状態で、USB接続してadbでバックアップした内容をPCに転送する。

$ adb pull /sdcard/clockworkmod/backup/"バックアップした日時"

以上で、Xperia Solaのバックアップが完了。

2013年4月22日月曜日

Galaxy Nexus(SC-04D) 初期ROM バックアップ

開発用端末として購入したGalaxy Nexus。
ROM焼きに失敗したとき用に、初期ROMをバックアップした時の備忘録。

バックアップにはClockWorkModを使うらしい。
ClockWorkModとはバックアップ&リストアが出来るカスタムのbootloaderなのかな?
以下手順。

1. Galaxy Nexusをfastbootモードで起動

Volume +/- を押しながら、電源投入。

2. ClockWorkMod Recoveryをダウンロード

ここから、Google Galaxy Nexus (GSM)のRecoveryをダウンロード。
# ファイル名は recovery-clockwork-6.0.3.1-maguro.img

3. ClockWorkMod Recoveryで起動

 fastboot状態のGalaxy NexusとPCを接続して、下記を打ち込む。

$ fastboot boot ~/***/recovery-clockwork-6.0.3.1-maguro.img

4. ClockWorkModでバックアップ

ClockWorkMod Recoveryで起動した画面で、"backup and restore"を選択。
(選択の移動にはVolumeキー +/- , 決定は電源ボタン)
続いて"backup"を選択すると、backupが始まる。

5. 再起動

バックアップが完了したら、"+++++Go Back+++++"を選択して前の画面に戻り、"reboot"を選択。

6. バックアップしたファイルをPCに保存

手順4で取ったバックアップは本体に保存されるので、これをPCにコピーする。

$ adb pull /sdcard/clockworkmod/backup/日付

以上で、バックアップ完了。

2013年4月20日土曜日

Xperia Sola root化 part2

前回に引き続き、Xperia Sola root化の備忘録。

まず必要なファイルをここから辿ってダウンロードする。
必要なファイルは
  1. Root_with_Restore_by_Bin4ry
  2. 6.1.1.B.1.10と6.1.1.B.1.54のkernel
  3. Flashtool
 手順は
  1. Flashtoolで6.1.1.B.1.10のkernelを焼く
  2. Root_with_Restore_by_Bin4ryでroot化
  3. Flashtoolで6.1.1.B.1.54のkernelを焼く

1. Flashtoolで6.1.1.B.1.10のkernelを焼く

今回はLinuxで試した。まずFlashtoolを起動する前に、
ダウンロードしたtftファイルをFlashtoolディレクトリにあるfirmwareにコピーしておく。
Flashtoolをrootで実行すると下記の画面になる
雷のようなマークをクリック。
そのままOKをクリック。
6.1.1.B.1.10のkernelを選んでOKをクリック。
電源を落としたXperia Solaを接続(Volume downを押しながら?)。
成功後に再起動すると、文字が崩れた状態で起動する。
感覚でロックを解除して次の手順に進む。

2. Root_with_Restore_by_Bin4ryでroot化

これは前回の手順と同じなので省略。
ただ、今回も復元の途中でエラーが起きて再起動になってしまって「失敗か?」と思ったが、
再起動後無事にSuperSuがアプリ一覧に追加されていた。
しかも、再起動後は文字の崩れも治っていて、そのまま利用できる状態になっていた。
# 6.1.1.B.1.54のkernelの焼き直しは必要ないのかしら?

root化自体はこれで完了。
端末情報を見るとkernelのバージョンは6.1.1.B.1.54になっているが、6.1.1.B.1.10を焼いて起動
した直後にも確認したところ6.1.1.B.1.54となっていたので、焼き直してもこの部分の情報は更新がかからないようだ。
なので、多分root化が成功して、画面もちゃんと映るようになっていてもkernel自体は古いままなのだろう。

 3. Flashtoolで6.1.1.B.1.54のkernelを焼く

手順1のkernel選択画面で、6.1.1.B.1.54を選択して、同じ手順を行う。

以上で、Xperia solaのroot化は完了。

Xperia Sola root化

Xperia Solaをroot化した時の備忘録。


android端末のroot化をしたことがなかったので、
色々調べてみるとXperiaのroot化ツールとしてRoot_with_Restore_by_Bin4ryといものが一般的みたい。
早速ダウンロードして、解凍してみるとファイル構成は以下の通り。

              / ---  RunMe.bat
                  |-- RunMe.sh
                  |-- stuff
                  |-- z_rootkit

LinuxでやるにはRunMe.shを使うみたいなので、XperiaをUSBデバッギング状態で接続して早速実行。


 $ chmod +x RunMe.sh 
 $ ./RunMe.sh

エラーが起きて終了してしまう、原因はRunMe.shの改行コードがCRLFになっていること。
なので、LFに変更してから再度実行。

 $ nkf -Lu RunMe.sh > MyRunMe.sh
 $ mv MyRunMe.sh RunMe.sh
 $ chmod +x RunMe.sh
 $ ./RunMe.sh

実行すると入力を促されるので"1"を打ってenter。
するとXperiaで「バックアップと復元」のアプリが起動されるので、「復元」を押下。
何もなく再起動がかかればroot化成功らしいが、エラーが起きて再起動がかかりroot化出来なかった。

ぐぐってみると、kernelのビルドバージョンが「6.1.1.B.1.154」だとこの方法は塞がれてしまっているとのこと。
別の方法でkernelを書き換えてから、root化し、kernelを戻すやり方があるみたいなので、次回はそれを試してみようと思う。

2013年4月17日水曜日

Unlock the boot loader on Xperia Sola

去年xperia solaを購入したが、特に利用機会がなかったので、開発用端末にした際の備忘録。
xperiaは2011年以降の端末だったら公式でunlock方法があるので、それを参考にした。http://unlockbootloader.sonymobile.com/instructions

前提条件

  1. Windows or Linuxに既にAndroid SDKが入っていて、fastbootが打てる状態になっている
  2. 公式手順ではあるが何が起きても自己責任でお願いします

手順

  1. Service Menuの表示
    発信画面で *#*#7378423#*#* を入力
  2. Unlock可能端末か確認
    Service Info -> Configuration -> Rooting Status
    [Bootloader unlock allowed] の項目がYesであればunlock可能。
    Noである場合はunlock不可の端末。
  3. unlock boot loader keyの入手
    ここまできたら、上記のsonyの手順サイトの下にある[continue]を押して次のページに移動する。
    チェックを入れて進んでいくと、ポップアップ画面が出て情報入力を促される。
    IMEIはRooting Statusでも書いてあるし、発信画面で *#06# と入力すると出てくる。
    出てきたIMEIが15文字だったら、最後の1文字を消したものを入力する。
    [OK]を押すと、入力したメールアドレスにkeyが送られてくる。
  4. unlock
    Xperia Solaの電源を落とし、Volume Upを押しながらmicro-usbを挿す。
    ※ この時、もう一方の口をPCと接続しておくことを忘れずに。
    電源ランプが紫に点灯したら成功。続いて下記のコマンドを入力。

    $ fastboot devices

    で端末が認識されていることを確認した後、

    $ fastboot -i 0x0fce oem unlock 0x"先ほど入手したキー"

    成功すると

    ...
    (bootloader) Unlock phone requested
    OKAY[   *.***s]
    finished. total time: *.***s

    と画面に出る。コマンドを打って一瞬で終わる。
以上で完了。

2013年2月23日土曜日

zsh における $ source build/envsetup.sh 時のエラー対処

Outline

android ソースコードビルド前の準備で、 zsh を使っていると
$ source build/envsetup.sh がうまく行かないので、それの対処法を記す。

問題

android のソースコードを build する際に、 zsh を使っていると、
$ source build/envsetup.sh 時に下記のメッセージが出力される。

 WARNING: Only bash is supported, use of other shell would lead to erroneous results
build/envsetup.sh:1154: no matches found: vendor/*/vendorsetup.sh
tail: `dir' を 読み込み用に開くことが出来ません: そのようなファイルやディレクトリはありません
tail: `f' を 読み込み用に開くことが出来ません: そのようなファイルやディレクトリはありません

確かに vendor/*/vendorsetup.sh というファイルが存在しないので、
このエラーメッセージ自体は正しい。
ただ、 envsetup.sh を見てみると本来、この行でやりたかった処理は下記の一行である。
$ /bin/ls vendor/*/vendorsetup.sh vendor/*/*/vendorsetup.sh device/*/*/vendorsetup.sh 2> /dev/null

これとエラーメッセージを比較すると、
$ /bin/ls vendor/*/vendorsetup.sh
がコマンドとして打たれた時に、出力されるエラーメッセージと同じである。
つまり、 zsh では複数の引数を与えた時に、どれか1つでも実行できなかったものがあると、
全体がエラーとなってしまうらしい。
この状態では android を build するときの target を選べない。

解決策

.zshrc に以下の一行を加え、反映させれば解決する。

setopt nonomatch

これを追記した後の実行結果は以下の通り。

 WARNING: Only bash is supported, use of other shell would lead to erroneous results
including device/asus/grouper/vendorsetup.sh
including device/asus/tilapia/vendorsetup.sh
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/armv7-a/vendorsetup.sh
including device/generic/mips/vendorsetup.sh
including device/generic/x86/vendorsetup.sh
including device/lge/mako/vendorsetup.sh
including device/samsung/maguro/vendorsetup.sh
including device/samsung/manta/vendorsetup.sh
including device/samsung/toro/vendorsetup.sh
including device/samsung/toroplus/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
tail: `dir' を 読み込み用に開くことが出来ません: そのようなファイルやディレクトリはありません
tail: `f' を 読み込み用に開くことが出来ません: そのようなファイルやディレクトリはありません




2012年7月28日土曜日

[android] eclipseとgitの連携

eclipseで書いているアプリを構成管理したいと思い、以前gitと連携できると教えてもらったので。
設定を行った。やり方は以下のURLに丁寧に説明が書いてあるので割愛。
http://typea.info/blg/glob/2010/12/eclipse-git.html
eclipseで書いたコードをgitで管理できるようになった。

2012年7月11日水曜日

[android] Jelly Bean

AOSPでJelly Beanが公開されたので早速いじってみる。
  • ダウンロード
    $ repo init
    $ repo sync -j4
  • make
    $ lunch
    JDKが入ってると思ってたら入っていなかったのでinstall
  • JDK6
    Oracleのサイトからダウンロード
     $ chmod a+x jdk-6u33-linux-x64.bin
     $ ./jdk-6u33-linux-x64.bin
    反映
     $ wget http://webupd8.googlecode.com/files/update-java-0.5b
     $ chmod +x update-java-0.5b
     $ ./update-java-0.5b
     jdk6を選択
  • 感想
    cameraとmedia系がframeworks/baseから消えて焦ったけど、frameworks/avに移動した模様。
    機能も増えてきたし、これからどんどん開発されていくんだろう。