カテゴリー ‘ Android

Galaxy Nexus(SC-04D)のROOT化の手順 mac版


 

注意事項

全て自己責任で作業を行って下さい。

キャリアの保証は一切きかなくなります。

また、作業中にデータが消えたり、起動しなくなってしまったりする場合があります。

その場合も一切責任を負いかねますのでよろしくお願いします。

 

今更ながらですが、「Galaxy Nexus(SC-04D)」をroot化したのでその時の手順の備忘録です。

手順

  1. ブートローダーをアンロックする。
  2. CWM Recoveryを入れてDocomo純正ROMをバックアップ(カスタムROM入れる予定がないので必要ないかも)
  3. Root化

 

ブートローダーのアンロック

ブートローダーをアンロックするとデータが消えるらしので大事なデータが入っている場合は注意が必要です。

それでは、アンロックの手順です。

  1. 電源をOFFにする
  2. ボリュームUp、Downボタンを同時に押下しながら、電源ボタンを押します。これで「fastboot mode」でブートローダーが起動します。
  3. ブートローダーが起動したらPCと接続します。
  4. 「fastboot oem unlock」とターミナルに入力し実行する
  5. 「Glaxy Nexus」の画面が以下のように変わるので、「ボリュームUpボタン」を押下して「Yes」を選択状態にしてから「電源ボタン」を押下します。すると、ブートローダーがアンロックされます。
  6. 本体を再起動します。

これで、ブートローダーのアンロックは終了です。

CWM Recoveryを導入して純正ROMのバックアップ

  1. 「fastboot mode」でブートローダーを起動する
  2. ClockworkMod 5.5.0.2 for Galaxy Nexus *GSM Edition*」をダウンロードする
  3. ターミナルで「fastboot boot recovery-clockwork-5.5.0.2-maguro.img」と入力し実行する
  4. 「ボリュームDownボタン」を押下して「backup and restore」を選択して「電源ボタン」を押下します。
  5. 画面が変わったら「backup」が選択されている事を確認して「電源ボタン」を押下します。
  6. バックアップが開始してしばらくすると「Backup complete!」と表示されます。これでバックアップ完了です。
  7. 「reboot system now」を選択して「電源ボタン」を押下してリブートします。
  8. Android File Transfer」を使用してMacに「clockworkmod」の中身をコピーします。これが、バックアップしたファイルそのものになります。

これで、ROMのバックアップが完了です。

Root化(4.0.4の場合)

  1. su.zip」をダウンロードする
  2. su.zipを端末に転送する
    「adb push su.zip sdcard/」
  3. 「fastboot mode」でブートローダーを起動する「adb reboot bootloader」
  4. CWM Recoveryを実行する「fastboot boot recovery-clockwork-5.5.0.2-maguro.img」
  5. 「install zip from sdcard」を選択する
  6. 「choose zip from sdcard」を選択する
  7. 「su.zip」を選択する
  8. 「Yes – Install su.zip」を選択する
  9. インストールが完了する
  10. 「reboot system now」を選択する

これで、root化が完了です。

Root化(4.0.2の場合)

  1. Superboot – rooting the GSM + LTE Galaxy Nexus」から、「r4-galaxynexus-gsm-superboot.zip」をダウンロードする
  2. ダウンロードしたら解凍する
  3. 「fastboot mode」でブートローダーを起動する。
  4. ターミナルで「./install-superboot-mac.sh」と入力して実行する
  5. そうすると、端末が再起動されsuperuserがインストールされてroot化が完成します。

これで、Root化終了です。

カスタムROMのインストールもこれで可能なので、楽しんでみてください。

自分はカスタムROMにはあまり興味ないですw

Android3.0以降でMacを接続してUSBでファイルをやり取りする方法


 

Galaxy NexusMacをつないでもFinderで表示されないのでどうしたのかと思い調べてみたら、

Android3.0以降では、USBでAndroidとMacを接続しても、Finder上に表示されなくなりました。

これを対応する為には、「Android File Transfer」というソフトがGoolgeから提供されているのでこれを使う必要があります。

使用方法

  1. Android File Transfer」からファイルをダウンロードします。
  2. ダウンロードしたファイルをクリックして開きます。
  3. アプリケーションフォルダに「Android File Transfer.app」をコピーします。
  4. USBで対象のAndroidをつないで、「Android File Transfer」を実行します。
  5. 実行するとこのような画面が表示されますので必要なデータを転送して使用します。

AndroidのzxingでNoClassDefFoundErrorが出た場合の対処


 

AndrodでzxingでQRコード読み取り機能を実装して起動した時にNoClassDefFoundErrorが表示された場合の対処方法

    1. プロジェクトのプロパティを開く
    2. Javaのビルドパスを選択
    3. 順序及びエクスポートタブを開く
    4. core.jar(zxingのjar)にチェックを付ける

これで、クリーン→実行をすると見事動作しました。

 

jarファイルがエクスポートされていないことが原因だったようです。

 

参考にしたサイト

Androidのソースを見る方法(androidのgitリポジトリ)


 

Androidのソースを見る方法

Android Developerのソースのダウンロードページなどに従うと

こちら」のような手順になると思います。

 

これでもいいのですが、これだと対象のソースが見つけづらいので、

Androidのソースを管理しているページ」に行き

こちらのページ「Browse Repositories」をクリックすると管理しているgitリポジトリの一覧が表示されるので

こちらで、対象のリポジトリを

「git clone」するなり、そのままWebで見るなりすると

かなり幸せになれます。

暗黙的インテントの呼び出しでActivityNotFoundExceptionを防ぐ方法


暗黙インテントを呼び出す時に、対応するActivityが存在しないと

「android.content.ActivityNotFoundException」が発生してしまう…。

なので、呼び出す前に以下のメソッドでActivityが存在するかチェックする

public static boolean checkImplicitIntent(Context context, Intent intent) {
	boolean ret = false;
	PackageManager pm = context.getPackageManager();
	Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
	List<ResolveInfo> apps = pm.queryIntentActivities(intent, 0);
	if (apps.size() > 0) {
		ret = true;
	}
	return ret;
}

呼び出して、「false」が戻ってきたらエラーとして処理する

return top