Galaxy Nexus 初期化、root, カスタム ROM, テザリングなどなど

これ、何ヶ月ぶりのブログ更新だろう?半年か!

先日 Galaxy Nexus (docomo) の OTA で Android 4.0.4になってテザリングが標準に付いてきた。
今まではroot取って、WiFi Tether for Root Usersを使ってが、動かなくなった。Androidのアップグレードでroot化されたやつが可笑しくなったみたい。
試しに標準のテザリングをやってみたら、案の定パケ放題のほかにFOMAの通信料が追加されてた。これはテザリングの料金だな。。。
調べてみたら、通常の3G SPモードの時のIPアドレスとテザリングの時のIPアドレスが違う。おそらくdocomoがテザリングの時にAPNを変えただろうと。
テザリング契約してないユーザには接続させないのが普通だような。。。やり方が汚い!!!
どうしてもじゃないけど、無料でテザリングしたい(実際はほとんどやってない)。単にdocomoに勝ちたい?という気持ちでちょっとやったことをメモ。
root取ったり、カスタムROM入れたりしてNexusが汚くなったので今回奇麗にしたいのも一つの理由

1. 初期化
AOKP ROMを入れてたの端末での初期化したら AOKPの初期化になってNexusの初期化になってない。
ROM Managerでバッグアップ取ったGalaxy Nexus ROMで復元する。
1. Power + Volume 上下ボタンを当時に押して、BootLoader画面を出す。
2. Recorvery Mode選択してPowerボタン
3. Backup and Restoreを選択して、ROM Manager でバックアップしたROMを復元する。

adb shellで中に入ってみると以下のディレクトリにあった。
# cd /sdcard/clockworkmod/backup/
CyanogenMon/ Galaxy_Nexus/ Team_Kang/

Galaxy_Nexusを選択して復元する。

復元はしたけどゴミが残ってみるみたいでROMのインストールでどうも可笑しい動きがしてきたので、docomoの純正ROMに戻してみる。
データが全部飛んじゃうのでバックアップが必要。自分は全部クラウドにあるので必要なし。

https://www.dropbox.com/sh/c7z1l0hai098u82/LOn7Kachfu
URLから docomo-romをダウンロードする。

$ cd docomo-rom
# bootloaderで起動 Power + Volume ↑↓と同じ
docomo-rom dongriab$ adb reboot bootloader  
docomo-rom dongriab$ fastboot erase system -w
docomo-rom dongriab$ fastboot erase boot
docomo-rom dongriab$ fastboot flash system system-ITL41D-SC04D0MKKD.img
docomo-rom dongriab$ fastboot flash boot boot.img
docomo-rom dongriab$ fastboot reboot
docomo-rom dongriab$ 

Googleロゴが二回出たあと正常に起動される。

端末情報を見るとAndroid 4.0.1になった。これは買う時のバージョンだね。。。
それでアプリケーション一覧に Super Userがなくなった。これはもう完全な初期状態だ。よっし!
1分ぐらい待つとOTAが来る、おそらく4.0.4だろう。
OTAは来たが再起動するところで失敗した。
端末初期化ボタンを押してもう一度待つ。
来たけどもう一回失敗。
しょうがなく手動してアップグレードすることにした。

上のリンクから OTA ファイルダウンロードする。
7f97fbc19417.signed-yakju-IMM76D-from-ICL53F.7f97fbc1.zip ファイルをダウンロードして install しようとしても失敗。

Google サイトでimageファイルを直接ダウンロードすることに

https://developers.google.com/android/nexus/images
docomoのやつはこれっぽい
https://developers.google.com/android/nexus/images#yakju

https://www.dropbox.com/sh/ac9ruf65aneolfq/L5HvGLUD4G
yakju-imm76i-factory-8001e72f.tgz ダウンロード

解凍して bootloaderにして flash-all.shを実行

yakju-imm76i dongriab$ adb reboot bootloader
yakju-imm76i dongriab$ ./flash-all.sh 
yakju-imm76i dongriab$ 

終わったら再起動。

今度はデフォルト言語が英語になってた。
試しにテザリングして見たが、APNが変わってなかった。当然だよなdocomoの純正romのアップグレードじゃないんだから。

2. rootを取る
https://www.dropbox.com/sh/hojofhhvgpd44wf/YVgAggxVlC

$ adb push su.zip sdcard/
$ adb reboot bootloader
$ fastboot flash recovery recovery-clockwork-5.5.0.4-toro.img

Recovery mode 選択して install zip from sdcard
su.zip を選択して install su.zip
終わったら go back , restart system now

再起動してアプリケーション一覧に Superuserが現れた。

3. ROMを入れる
ROM Manager を play からインストール
ROM Manager 起動してclockworkなんとかをインストール(GSM)

CyanogenModを使ってたがバッテリーが半日も持てなかったので Team Kangを入れる。

以上でNexusも奇麗になって、あの汚いdocomoを騙してテザリングも可能に!

これ書く必要ないですが、自己責任でお願いします

Advertisements

PHP on Google App Engine

appengine-java-php

1. Quercusライブラリダウンロード
http://quercus.caucho.com/ から Quercus 3.1.6をダウンロードする(Quercus 4.0.1は文字化けが発生するので、今回は3.1.6を使うようにする)
jar xf quercus-3.1.6.war
(quercus.jar, resin-util.jar, script-10.jar)

2. Jettyライブラリダウンロード
http://dist.codehaus.org/jetty/jetty-6.1.17/ から jetty-6.1.17.zip をダウンロード
(jetty-6.1.17.jar, jetty-util-6.1.17.jar)

3. ライブラリをlibフォルダに入れる
1と2で取得したjarファイルを war/WEB-INF/lib に入れる

4. 設定ファイル修正
4-1 appengine-web.xml

<static-files>
  <exclude path="/**.php" />
</static-files>
<resource-files>
  <include path="/**.php" />
</resource-files>

 
4-2 web.xml

<servlet>
  <servlet-name>Quercus Servlet</servlet-name>
  <servlet-class>com.caucho.quercus.servlet.QuercusServlet</servlet-class>
  <init-param>
    <param-name>script-encoding</param-name>
    <param-value>UTF-8</param-value>
  </init-param>
  <init-param>
    <param-name>ini-file</param-name>
    <param-value>WEB-INF/php.ini</param-value>
    </init-param>
</servlet>
<servlet-mapping>
  <servlet-name>Quercus Servlet</servlet-name>
  <url-pattern>*.php</url-pattern>
</servlet-mapping>

 
4-3 php.ini ファイル作成
war/WEB-INF の下に php.ini ファイルを新規作成

unicode.semantics=on
unicode.http_input_encoding=UTF-8
unicode.output_encoding=UTF-8
unicode.runtime_encoding=UTF-8

 
5. info.php
warの下にinfo.phpを作成

<?php
phpinfo();
?>

 
6. アクセスしてみる。
http://localhost:8080/info.php

GDD phoneにSIMカード挿してみる

RIMG1093先日Google Developer Dayに参加して、Google のサプライズでGDD phoneをもらいました。デザインのほうは今まで出したAndroid phone中で一番だと思います。OSはコードネーム“cupcake”のAndroid最新版1.5だったので従来の物理キーボードからソフトキーボードに変わってます。SIMフリー版なのでSIMカードなくても起動できます。Googleからは「積極的にAndroidの開発に参加してほしい」とのことですね。今回参加者全員に配るためにGoogleはすごく苦労したようです。おそらくDocomoさんとの交際かと思います。夏に発売するHT-03Aと同じモデルかな?とにかくありがとう!Google!

あくまでも開発用で、他社のSIMカードを挿して使った場合「パケ死」になる可能性があるのでお勧めしませんとGoogleから何回も言われました。でも、試してみたいですね。iPhone 3GのSIMカード取り出すのが面倒だったので、普通のSoftbank携帯のSIMカードを挿してみました。起動したらちゃんと認識されたようです、画面に「SoftBank」と表示されてました、電話もSMSも普通にできました。ネットはどうだい?と思ってブラウザを起動したら、やっぱり「ネットワークに接続していません」と表示されました。

以下ようにAPN(Access Point Name)の設定を行います。
「設定」→「ワイヤレス設定」→「モバイルネットワーク」→「アクセスポイント名」→「menuボタン」→「新しいAPN」の順にAPN設定画面に辿ります。

  • 名前:Softbank Test
  • APN:smile.world
  • ユーザー名:dna1trop
  • パスワード:so2t3k3m2a
menuボタンで保存して、再びブラウザを開くと、お~接続できました。3Gマークも表示されで
RIMG1094
以上でテスト完了。上の情報はSoftBankからの情報ではないので「パケ死」になる可能性があります。設定したい方は自己責任でお願いします。
名前:Softbank Test
APN:smile.world
ユーザー名:dna1trop
パスワード:so2t3k3m2a

Android SDK 1.5を試してみる

android-logoAndroid SDKってどうゆうもんかと知りたくて試してみました。

1.SDKをダウンロード
http://developer.android.com/sdk/ からWindows用 android-sdk-windows-1.5_r2.zip ダウンロード

2.インストール
インストールと言ってもzipファイルを解凍するだけです。(適当な場所に)
自分の場合は「F:\ide\android-sdk」に入れてます。

3.emulatorを起動してみる
「F:\ide\android-sdk\tools」 に「emulator.exe」がありますが、コマンドプロンプトからそのまま > emulator.exe 起動すると以下のエラーが発生します。

emulator: ERROR: You did not provide the name of an Android Virtual Device
with the ‘-avd <name>’ option. Read -help-avd for more information.

If you *really* want to *NOT* run an AVD, consider using ‘-data <file>’
to specify a data partition image file (I hope you know what you’re doing).

Android Virtual Deviceを指定してくださいとのことですね、バーチャルデバイスを作成。

F:\ide\android-sdk\tools>android.bat create avd -n test -t 2
Android 1.5 is a basic Android platform.
Do you wish to create a custom hardware profile [no]
Created AVD ‘test’ based on Android 1.5

F:\ide\android-sdk\tools>

-n testはtestという名前のバーチャルデバイス
-t 2はAndroid 1.5 をtargetにして起動
ちなみに作成したAVDを削除するには 「android.bat delete avd -n test」、AVD一覧を表示するには「android.bat list avds」

emulator起動

F:\ide\android-sdk\tools>emulator.exe -avd test

AndroidEmulator

4.EclipseのプラグインADT(Android Development Tools)をインストール
Eclipseは3.2か3.3が必要です。Eclipseを起動して、「ヘルプ」→「ソフトウェア更新」→「サイト追加」で以下のURLを指定してインストールします。

https://dl-ssl.google.com/android/eclipse/

「ウィンドウ」→「設定」→「Android」 で SDKロケーションを設定します。

5.プロジェクト作成
「新規」→「プロジェクト」→「Android プロジェクト」の順にプロジェクトを作成する。
以下は自分が作成したプロジェクトですので、ご参考まで
プロジェクト名:footmark
ビルド・ターゲット:Android 1.5
アプリケーション名:footmark
パッケージ名:com.wordpress.footmark
Create Activity:footmark
Min SDK Version:3

footmark.javaが生成されるので、修正してみます。

package com.wordpress.footmark;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;

public class footmark extends Activity implements OnClickListener{

 int i=0;
 TextView tv;
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 //setContentView(R.layout.main);

 LinearLayout linearLayout = new LinearLayout(this);
 linearLayout.setOrientation(LinearLayout.HORIZONTAL);//VERTICAL
 setContentView(linearLayout);

 tv = new TextView(this);
 tv.setText("Hello Android x ("+i+")");
 tv.setGravity(1);
 linearLayout.addView(tv,
 new LinearLayout.LayoutParams(
 LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

 Button button1 = new Button(this);
 button1.setText("Click Me!");
 button1.setOnClickListener(this);
 linearLayout.addView(button1,
 new LinearLayout.LayoutParams(
 LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
 }

 public void onClick(View v) {
 i++;
 tv.setText("Hello Android x ("+i+")");
 }
}

画面イメージ

AndroidApp

3時間でここまで…

明日、GDD phoneに転送してみよう

Google App Engine for Java

001最近iPhoneアプリの開発に夢中になって、なかなか時間が取れなかったのですが、今日やっと時間がすこしあったので、前からやってみたかった app engine for java を試すことにしました。Pythonの時はSDKをダウンロードして、秀丸なり好きなエディターでコードを書いてましたが、今回はEclipseのプラグインという素晴らしい選択肢がありました。もちろんJava版のSDKも用意してますけど。

推奨されてるJavaバージョンは6ですが、5でも大丈夫みたいです。Javaはすでにイスントールしてあるので、Eclipseのプラグインを入れることにしました。使ってたEclipse3.3.1にプラグインを入れようとしましたが、「org.eclipse.wst.xml.core」が必須ですと怒られて、本体のUpdateを行いましたが、今度はEclipseの起動すらできませんでした。ショック!しょうがないんでEclipse3.4でチャレンジすることにしました。

まずは、こちらからEclipse3.4.2をダウンロード(http://www.eclipse.org/downloads/packages/

英語が得意ではないんで日本語化(http://mergedoc.sourceforge.jp/index.html#/pleiades.html

次はGoogle Plugin for Eclipseを入れる。(http://dl.google.com/eclipse/plugin/3.4)

完了すると、メニューに三つのアイコンが出てきます。(可愛い~)左からプロジェクト作成、コンパイル、デプロイです。新規でプロジェクトを作成するとテンプレートでAjaxを使ったサンプルコードが自動生成されます。試しにappspotにデプロイしたのがこちら(http://term.appspot.com/)。これだけだと寂しいんでGuestBookも入れようとしましたが、失敗しました。ローカルでは問題なく動きますが、appspotにデプロイするとServer Errorが発生します。
「java.lang.ClassCastException: com.google.appengine.api.users.UserServiceFailureException cannot be cast to javax.servlet.ServletException」
どうもこれが原因らしい。(http://groups.google.com/group/google-appengine-java/browse_thread/thread/3263e14c37391830

やってみて、Pythonの時と比べると少しは楽かと思いました、少なくとも言語がJavaなんで言語そのものの勉強は要らないですね。さ~何を作ってみようかな?時間があるときですけど。時間は自分が作るものだと言われてますが、なかなか難しいですね・・・

Google Map に騙された!

Googleの大ファンである私にとってGoogleの一連サービスは無くてはならない存在になってます。Gmailは言うまでも毎日使って、会社のメール、携帯メール、その他ドメインのメールを全てGmailに統括して管理してます。最近はドキュメントまでGoogleDocsを使うようになりました。その他 GoogleCalendarGoogleBookmarks などなど…. 同然、Googleを信用してるから使うわけですが、今日Google mapのことでちょっと裏切られた気がしました。

今日、昔同僚との飲み会があって、先日メールで送ってきた飲み会の住所に行ってみたが、どうしても店が見当たらなくて、結局は同僚が迎えに来ました。「東京の真ん中にある店も見つからないんで馬鹿じゃないの?」と言われるかも知らないが、実はGoogle mapに騙されたのが原因でした。先日送ってきた住所をGmapで検索してリンクをiPhoneに送りました。送った住所が「東京都中央区日本橋3-6-2 」。なぜか「東京都中央区日本橋本町3-6-2」になってしまうんです。

30分ほど生を飲む時間を無駄にしたのがちょっともったいないな~。
一応Googleには連絡してありますが、早く修正してくれるといいですね。

Lively体験

Googleの3Dソーシャルサービス「Lively」を体験してみました。あの「SecondLife」と違って専用のソフトは必要ありません、IE、Firefoxのプラグインをインストールするだけでブラウザで起動できます。Googleらしいですね。

まずは、www.lively.com からセットアップファイルをダウンロードしてインストールします。完了するとデスクトップにショートカットアイコンが出来上がるのでクリックすると、www.lively.com に飛びます。ログインするためにはGoogleアカウントが必要です。Facebookアカウントでもログインできるみたいです。My Rooms から Create a new room。空のroomが出来上がるので、後は自由にObjectを配置できたり、Avatarをかっこう良く作ったりできます。便利だと思ったのは、Webにある写真を取り込む機能とYoutubeのビデオを取り込む機能でした。

残念なことに、wordpressにiframeが使えないので、roomへのリンクは作成できませんでした…

http://www.lively.com/dr?rid=-8660374474388054342

今のところ、チャットで直接日本語、中国語、韓国語は打てないですが、コピー&ペストでなんとかできます。

今後はSLのようにユーザがObjectを作れるようなAPIを提供するのを楽しみにしてます。言語は何を使ってるかな??