2011年9月21日水曜日

Asus Transformer 3.1 日本版にカスタムROMを導入する

前回のポストでnvflashを利用したTransformerのバックアップを行いました。

今回は前回の内容を踏まえた上で、TransformerにカスタムROMを焼きます。
事前にrootを取得する必要はありません。

カスタムROMはPRIME! v1.9.1を選択しました。
このROMの特徴は下記のようなものです

  • Android 3.2

  • Root取得済み(superuser, busyboxインストール済み)

  • 起動時にzipalignを行う(apkファイルの最適化)

  • 電源オプション(電源OFF、再起動、リカバリ)

  • キーボードドック接続時に、通知領域にドックバッテリ残量が表示される

  • テキスト入力中に、ナビゲーションバーから別のキーボードに変更できる

  • 空きRAM容量が常時250-300MBくらいになる

  • etc...


詳しいことはこちらを参照してください。

なによりも魅力的なのは最新のAndroid 3.2を利用できることですね。

実際の手順は以下の通りです。

前提
バックアップ済み
作業用フォルダにnvflash.zipを解凍してある(前回のポスト参照のこと)

1. nvflash用のPRIME! v1.9.1ファイルを用意する
[ROM] PRIME! v1.9.1 | Latest Asus Build++ | HTJ85B.prime_epad-1.9.1-20110904
上記サイトから、nvflash用のROMファイルをダウンロードし、解凍します。
解凍してできたimgファイル3つをnvflash.exeと同じフォルダ(おそらくnvflashtf)にコピーします。

2. ROMを焼く
Transformerの電源を切り、ボリュームボタンの「+」を押しながらPCに接続します。
nvflash.exeと同じフォルダ内にあるdownload.batを実行すると、PRIMEの導入処理が開始されます。
このバッチファイルの実行前に、2番で用意したimgファイル3つがnvflash.exe、downlod.batがあるのと同一のフォルダ内にあることを確認してください。
この3つのimgファイルがないままdownload.batを実行すると綺麗な文鎮ができあがります。

処理が終わると再起動し、AndroidのWelcome画面が立ち上がります。
Google アカウントを設定しましょう。

3. 日本語キーボードレイアウトで使えるようにする。
PRIME!のインストールはこれで終了ですが、このままではキーボードが英字配列です。
日本語キーボードのレイアウトで使用するにはもうひと手間必要です。
[Info] Eee Pad Transformer - Japan version - FOTA 8.4.4.12
上記サイトの「Japanese keyboard layout」リンクをクリックし、JapaneseKeyboardLayout.zipをダウンロードします。
ダウンロードしたファイルを、解凍せずにMicroSDカードにコピー、Transformer本体にさします。
電源ボタンを押し、リカバリモードで再起動します。
CWMが起動するので、"install zip from sdcard" -> "choose zip from sdcard"と進み、先ほどコピーしたzipファイルを選択しインストールします。

以上でPRIMEでも日本語キーボードを日本語レイアウトで使えるようになります(注:設定画面上はUSキーボードのままです)。
ATOKで半角/全角キーが使えなかったり、という問題はありますが(Alt + Spaceで日本語切り替えできます)…

[update 20110929]
Transformer標準の日本語キーボード、FSKARENを含んだキーボードレイアウトzipファイルを利用すると、半角/全角キーによる日本語切り替えが行えます。
Atokを利用していない方はこちらもどうぞ。利用方法は上記キーボードレイアウトのみのzipファイルと同様です。(nepwkさん、ありがとうございます)
また、未確認ですが「日本語フルキーボード For Tablet」というアプリを利用すると、任意の物理キーに「半角/全角切り替え」を割り当てることができるようです。
[/update] 

Asus Transformer 3.1 日本版でバックアップを作成する

7月に購入したAsus Transformer。
2ヶ月ほど公式ROMで使って、結構満足しています。

しかし、公式の3.2がまだまだ遠そうなのでカスタムROMを導入してみることにしました。
今回はその前段としてバックアップ方法について紹介します。

※注意------------------------------------------------------------------------------------------------
本体シリアルナンバーの最初の三桁が「B70」以上の方はこの方法でバックアップが取れない可能性があります。
---------------------------------------------------------------------------------------------------------- 

環境Windows7 Home Premium

1. nvflashのダウンロード
[Tool] Nvflash unbricking released! にてWindows nvflashをクリックし、リンク先からnvflash.zipをダウンロードします。

2. 作業環境の準備
ダウンロードしたnvflash.zipを作業用フォルダに解凍します。
ここでは"tf101_work"とします。
[20110924 update]
あと、Android SDKのインストールと、Asus TransformerのADBドライバのインストールも行っておいてください。 私は別の作業で事前にインストールしてあったためわかりませんが、ADBドライバが必要かもしれません。
[/update]

3. バックアップ用バッチファイルの作成
tf101_workの直下に「backup.bat」というファイルを作成し、以下の内容をコピー&ペーストします。

cd %~dp0
cd nvflashtf

set yyyy=%date:~0,4%%date:~5,2%%date:~8,2% set time2=%time% set hhmmss=%time2:~0,2%%time2:~3,2%%time2:~6,2% set folname=..\backup\tf101- set BACKUP_DIR=%folname%%yyyy%-%hhmmss% md %BACKUP_DIR%
nvflash --bct transformer.bct --setbct --configfile flash.cfg --bl bootloader.bin --odmdata 0x300d8011 --sbk 0x1682CCD8 0x8A1A43EA 0xA532EEB6 0xECFE1D98 --sync nvflash --resume --getpartitiontable %BACKUP_DIR%\partitiontable.txt nvflash --resume --read 2 %BACKUP_DIR%\02_BCT_raw.img nvflash --resume --read 3 %BACKUP_DIR%\03_PT_raw.img nvflash --resume --read 4 %BACKUP_DIR%\04_BOOTL_raw.img nvflash --resume --read 5 %BACKUP_DIR%\05_RECOVERY_raw.img nvflash --resume --read 6 %BACKUP_DIR%\06_KERNEL_raw.img nvflash --resume --read 7 %BACKUP_DIR%\07_BAK_raw.img nvflash --resume --read 8 %BACKUP_DIR%\08_GP1_raw.img nvflash --resume --read 9 %BACKUP_DIR%\09_SYSTEM_raw.img nvflash --resume --read 10 %BACKUP_DIR%\10_CAC_raw.img nvflash --resume --read 11 %BACKUP_DIR%\11_MSC_raw.img nvflash --resume --read 12 %BACKUP_DIR%\12_USP_raw.img nvflash --resume --read 13 %BACKUP_DIR%\13_PER_raw.img nvflash --resume --read 14 %BACKUP_DIR%\14_YTU_raw.img nvflash --resume --read 16 %BACKUP_DIR%\16_GPT_raw.img
pause

4. バックアップの実行
まず、Transformerの電源を切り、ボリュームボタンの「+(上側のボタン)」を押しながら電源ボタンを押し、その状態のままPCに接続します。すると、新しくドライバのインストールが始まりますが、おそらく失敗します。
コントロールパネル>デバイスマネージャで「APX」を探し、ドライバの更新を行います。検索するフォルダには、「tf101_work\nvflashtf\usbdriver」を指定しましょう。
次に、作成したbackup.batを実行します。
バックアップが終了すると、 tf101_workフォルダーの直下に"backup\tf101-yyyyMMdd-HHmmss"という形式のフォルダが作成されています。
バックアップイメージはその中にあります。

2011年9月5日月曜日

[ASP.NET]StrConvでひらがな・半角カナ変換でエラーが出る 時の対処法

StrConvでひらがな・半角カナ変換をしようとしたところ、 開発環境では動いたのに、サーバーにのせたら下記のエラーが出てしまいました。

System.ArgumentException: This system does not contain support for the Japanese locale.

原因は読んでそのまま、OSが日本語をサポートしていないからです。
まずは.NET Frameworkの日本語language packがインストールされているか確認しましょう。
インストールされていなかったらインストールしてください。
language packがインストールされているのにひらがな・ 半角 カナ変換できないぞゴルァ! という時は、OSの言語が日本語になっていない可能性があります。
そんな時はOSの言語を日本語に設定するか、あるいはStrConvの第三引数に日本語LocaleID(1041)を指定します。

Dim strExample As String = "ほげほげ"
Dim strResult As string = ""
strResult = Strings.StrConv(strExample, VbStrConv.Katakana + VbStrConv.Narrow, 1041)
'--------------------------------
'結果;
'strResult = "ホゲホゲ"

後々のメンテナンスとかサーバが変わった時のことを考えると、LocaleIDを指定しておいた方がいいような気がします。