MIPS Android(JZ4760)用nicoWnnG version 2012.0222.1 独自ビルド版

(2013/06/21 追記 start)
最新版は「MIPS Android(JZ4760)用nicoWnnG version 2013.0425.1 独自ビルド版」にて配布中。

(追記 end)


2012.0325.1版を公開しました。

———————————————————-
MIPS Androidで動作するnicoWnnG
2012/02/22時点での最新版(Version 2012.0222.1)にアップデートしました。

ダウンロード: nicoWnnG-2012.0325.1-mips.apk
ダウンロード: nicoWnnG-2012.0305.2-mips.apk
ダウンロード: nicoWnnG-2012.0222.1-mips.apk

ダウンロード: nicoWnnG-2012.0215.1-mips.apk
ダウンロード: nicoWnnG-2012.0213.4-mips.apk
ダウンロード: nicoWnnG-2012.0213.3-mips.apk
ダウンロード: nicoWnnG-2012.0213.2-mips.apk
ダウンロード: nicoWnnG-2012.0213.1-mips.apk

[注意事項]
この独自ビルド版nicoWnnGの配布にあたり、GORRYさんに許可を取っています。

この独自ビルド版nicoWnnGは、ソースの変更を行っていません。コンパイル時にMIPS/MIPS-R2/MIPS-R2 SoftFloat用のバイナリを作成するようにしただけのものです。
このため、前のバージョンからの変更内容については、オリジナル版を参照願います。

オリジナルのnicoWnnGがすでにインストールされていると、こちらの独自ビルド版はインストールに失敗します。
逆に、こちらの独自ビルド版があると、オリジナルのインストールに失敗します。
これは、この独自ビルド版は、オリジナルのnicoWnnGと同じソース・パッケージ名で作成されていますが、署名が異なっていることによるものです。
といっても、現状のオリジナル版はMIPS用のライブラリが内蔵されていないので、そもそものインストールに失敗するので、支障は無いですが・・・

なお、今回の独自ビルド版では、MIPS、MIPS-R2、MIPS-R2 SF用のバイナリのみとし、オリジナル版に含まれるARM,x86用バイナリを削除しています。

ronzi(溶智) A3での動作確認をしました。

それ以外の機種での動作は未確認です。
とりあえずMIPS-R2用バイナリとMIPS-R2 SF用バイナリを追加してはいますが、AMT-7001搭載のICCO T22とかでは動かない可能性は高そうです。

旧バージョン:
2011.1207.1版
2011.1205.1版
2011.1115.1版
2011.0823.2版
2011.0503.1版

独自ビルド版のトピック
・Android NDK for MIPS r7mでコンパイルしています。
・MIPS r1用/MIPS r2用/MIPS r2 SF用の3種類のバイナリが含まれています。
・apk容量削減のため、MIPS用バイナリのみとしました。
・全体の再コンパイルは行わず、libディレクトリのみをapktoolを使って入れ替えるという邪法を使っています。
・署名が当サイトのものとなっています。

MIPS Android(JZ4760)用nicoWnnG version 2011.1115.1 独自ビルド版

(2013/06/21 追記 start)
最新版は「MIPS Android(JZ4760)用nicoWnnG version 2013.0425.1 独自ビルド版」にて配布中。

(追記 end)


— 以下、元の記事 —
MIPS Androidで動作するnicoWnnGを2011/11/15時点での最新版(Version 2011.1115.1)にアップデートしました。(2011/11/15 12:10: 2011.1111.1→2011.1115.1 に差し替えました)

ダウンロード: nicoWnnG-2012.0325.1-mips.apk
ダウンロード: nicoWnnG-2011.1111.1-mips-2.apk (23:15 署名を忘れていたのを修正しました)
ダウンロード: nicoWnnG-2011.1115.1-mips.apk

[注意事項]
オリジナルのnicoWnnGがすでにインストールされていると、こちらの独自ビルド版はインストールに失敗します。
逆に、こちらの独自ビルド版があると、オリジナルのインストールに失敗します。

これは、この独自ビルド版は、オリジナルのnicoWnnGと同じソース・パッケージ名で作成されていますが、署名が異なっていることによるものです。

といっても、オリジナル版はMIPS用のライブラリが内蔵されていないので、そもそものインストールに失敗しますが・・・
なお、今回の独自ビルド版では、MIPS、MIPS-R2用のバイナリのみとし、オリジナル版に含まれるARM,x86用バイナリを削除しています。

ronzi(溶智) A3での動作確認をしました。(2011/11/14 23:15)

それ以外の機種での動作は未確認です。
過去のバージョンではAMT-7001を積んだICOO T22では動作しなかったようですが、MIPS-R2用バイナリを追加したこのバージョンでは動くといいんですが・・・

旧バージョン:
2011.0823.2版
2011.0503.1版

独自ビルド版のトピック
・いままでAndroid NDK for MIPSのr5bでコンパイルしていましたが、r6mに変更しました。
・いままでMIPS r1用のバイナリのみでしたが、MIPS r2用のバイナリも含めました。
・apk容量削減のため、MIPS用バイナリのみとしました。
・全体の再コンパイルは行わず、libディレクトリのみをapktoolを使って入れ替えています。

ronzi A3カスタマイズメモ 20111024版

ronzi A3をカスタマイズしていくときのメモ書きをいくつか・・・

・YouTubeアプリを最新版にするとHQモードが動かない、ということなので2.0.26を使用する。
その他、[GUIDE] Cruz T10x / T301: Rooting, Dalvik Turbo, Removing Bloatware, Gapps & Market & More にある以下のファイルを持ってきた。

– Android Market 3.1.3
– Google Maps 5.9.0
– Google Books 1.1.4
– Google Talk 1.3
– OI File Manager 1.16
– Spare Parts 2.3.5
– YouTube 2.0.26

・Dalvik Turboはfroyo-hard-float-r1を使用している
上記のCruz Tabletでは、froyo-soft-float-r1を使用しているようだけど、hard floatにしている。

・nicoWnnGの設定ファイル
デフォルト設定では以下となっている。

# pwd
/data/data/net.gorry.android.input.nicownng/shared_prefs
# ls -l net.gorry.android.input.nicownng_preferences.xml
-rw-rw---- app_33   app_33       1057 2011-10-24 01:48 net.gorry.android.input.nicownng_preferences.xml
# cat net.gorry.android.input.nicownng_preferences.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="nicoflick_mode_landscape">0</string>
<boolean name="change_alphanum_12key_portrait" value="true" />
<string name="nico_candidate_lines_portrait">3</string>
<boolean name="change_kana_12key_portrait" value="true" />
<string name="candidateview_height_mode2_landscape">2</string>
<boolean name="change_kana_12key_landscape" value="false" />
<string name="input_mode_landscape">input_normal</string>
<boolean name="change_alphanum_12key_landscape" value="false" />
<string name="nicoflick_mode_portrait">0</string>
<string name="input_mode_portrait">input_normal</string>
<string name="candidateview_height_mode2_portrait">2</string>
<string name="nico_candidate_lines_landscape">1</string>
<string name="flick_sensivity_mode_landscape">0</string>
<string name="flick_sensivity_mode_portrait">0</string>
<boolean name="new_preference_20110417a" value="true" />
<string name="mainview_height_mode2_landscape">2</string>
<string name="mainview_height_mode2_portrait">2</string>
</map>
#

設定を行うと↓のような感じになる。

# cat net.gorry.android.input.nicownng_preferences.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="nico_candidate_lines_portrait">3</string>
<string name="candidateview_height_mode2_landscape">1</string>
<boolean name="shrink_candidate_lines_landscape" value="false" />
<boolean name="change_alphanum_12key" value="false" />
<string name="candidate_font_size">0</string>
<string name="input_mode_landscape">input_normal</string>
<boolean name="popup_preview" value="true" />
<string name="flick_sensivity_mode">0</string>
<string name="candidateview_height_mode2_portrait">2</string>
<string name="nico_candidate_lines_landscape">1</string>
<boolean name="space_below_keyboard_landscape" value="true" />
<string name="nicoflick_mode">0</string>
<string name="flick_sensivity_mode_portrait">0</string>
<boolean name="space_below_keyboard" value="true" />
<string name="input_mode">input_normal</string>
<string name="keyboard_skin">keyboard_android_default</string>
<boolean name="show_candidate_fulllist_button_landscape" value="true" />
<boolean name="show_candidate_fulllist_button" value="true" />
<boolean name="is_skip_space_landscape" value="true" />
<boolean name="opt_enable_learning" value="true" />
<boolean name="shrink_candidate_lines" value="false" />
<boolean name="change_alphanum_12key_landscape" value="false" />
<boolean name="different_pl" value="true" />
<string name="key_sound_vol">1</string>
<string name="candidateview_height_mode2">1</string>
<string name="flick_sensivity_mode_landscape">0</string>
<string name="mainview_height_mode2_landscape">0</string>
<boolean name="nospace_candidate2_landscape" value="true" />
<boolean name="change_alphanum_12key_portrait" value="true" />
<string name="qwerty_kana_mode_landscape">0</string>
<string name="qwerty_kana_mode">0</string>
<boolean name="change_kana_12key_portrait" value="true" />
<boolean name="change_kana_12key" value="false" />
<boolean name="nospace_candidate2" value="true" />
<boolean name="flick_guide_landscape" value="true" />
<boolean name="nico_candidate_vertical" value="true" />
<boolean name="new_preference_20110417a" value="true" />
<string name="candidate_font_size_landscape">0</string>
<string name="nicoflick_mode_landscape">0</string>
<string name="mainview_height_mode2">0</string>
<string name="nico_candidate_lines">1</string>
<boolean name="flick_guide" value="true" />
<boolean name="opt_spell_correction" value="true" />
<boolean name="change_kana_12key_landscape" value="false" />
<boolean name="is_skip_space" value="true" />
<string name="nicoflick_mode_portrait">0</string>
<string name="input_mode_portrait">input_normal</string>
<string name="hidden_softkeyboard2">0</string>
<string name="hidden_softkeyboard2_landscape">0</string>
<string name="opt_prediction_mode">on_prediction</string>
<boolean name="nico_candidate_vertical_landscape" value="true" />
<string name="mainview_height_mode2_portrait">2</string>
</map>
#

・nicoWnnGを最初から有効にしておく方法(失敗)
設定を行うと、「/data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml」に記録されているように見える。

# cd /data/data/com.android.settings/shared_prefs
# ls -l
-rw-rw---- system   system        198 2011-10-24 01:47 com.android.settings_preferences.xml
# cat com.android.settings_preferences.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<boolean name="net.gorry.android.input.nicownng/.NicoWnnGJAJP" value="true" />
</map>
#

ちなみにsystem:systemは数値で表現すると1000:1000である。

なお、開発オプションのUSB接続時にスリープにしない設定を入れたりすると、このファイルは以下の様になる。

# cat com.android.settings_preferences.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<boolean name="allow_mock_location" value="true" />
<boolean name="enable_adb" value="true" />
<boolean name="keep_screen_on" value="true" />
<boolean name="location_network" value="false" />
<boolean name="net.gorry.android.input.nicownng/.NicoWnnGJAJP" value="true" />
</map>
#

しかし、実際に、上記の設定を行ってみても、設定は有効にはならないようで、Android内部に別途作成されるsqliteのデータベース上への登録が必須であるようだ。

・framework-res.apkの編集
apktoolでばらして再構築、なんだけど、失敗しやすくて難儀中・・・

framework-res/res/layout/status_bar.xml 内にボタンを配置するレイアウトを追加

framework-res/res/values/ids.xmlとframework-res/res/values/public.xml 内に上記で使用している「@id/status~」という記載を追加
idの値を被らないように注意が必要。

「apktool b 展開ディレクトリ」で再構築するけど、apkファイルは作らない。
buildディレクトリ内のファイルを利用する。

1. オリジナルのframework-res.apk を作業用にframework-res-new.apkとでもする。
2. 「apktool d framework-res-new.apk」で展開する
3. framework-res-newディレクトリにいろいろファイルが出来るが、その中のresディレクトリで作業を行う。
  res\layoutとres\valuesなどでいろいろやる
4. 「apktool b framework-res-new」で再構築する
5. 面倒なのでwindowsの7-zipを使ってframework-res-new.apkを開く
6. 7-zip内操作でframework-res-new.apk\res\layoutに移動し
  framework-res-new\build\res\layout内のファイルを上書きする
7. res\valuesのデータはやり方が違うので7-zipを閉じる
8. res\valuesのデータはresources.arscに含まれるが
  非圧縮でかいた方がいいので、7zipなどでframework-res-new.apk内のresources.arscを非圧縮で置き換える
  うちの場合はlinuxでやったので「7za u -mx0 -tzip framework-res-new.apk resources.arsc」とした。
9. 上記で完成したframework-res-new.apkをronzi A3に転送する。

ポイント
・framework-res.apkを自己署名とかでやってもうまくいかない。googleの署名が必要っぽいのでなんとかごまかす。
・framework-res.apkを7zipで開くとxmlファイルがあるのが見えるけど、開いてみるとxmlそのままじゃなくて処理されているので、そのまま置き換えは不可
・apktoolをうまく使いこなす必要がある
・zipの圧縮と非圧縮もうまく使いこなす

で、書き換えたのですが、statusbarにボリュームを表示させられたけど、そこから実際のボリュームを動かすには別の設定が必要な模様・・・

それはframework.jarの方っぽい

ronzi A3とRamos V65PROのframework.jarをapktoolでばらして、diffを取ってみると、おそらく以下のあたりが関連していそうな雰囲気。

--- framework-ronzi/framework.jar.out/smali/android/media/AudioService$SettingsObser
ver.smali       2011-10-24 17:07:11.000000000 +0900
+++ framework-v65/framework.jar.out/smali/android/media/AudioService$SettingsObserve
r.smali 2011-10-24 17:08:22.000000000 +0900
@@ -184,25 +184,6 @@

     aput v2, v0, v1

-    .line 1717
-    iget-object v0, p0, Landroid/media/AudioService$SettingsObserver;->this$0:Landroid/media/AudioService;
-
-    invoke-static {v0}, Landroid/media/AudioService;->access$2200(Landroid/media/AudioService;)[Landroid/media/AudioService$VolumeStreamState;
-
-    move-result-object v0
-
-    const/4 v1, 0x5
-
-    aget-object v0, v0, v1
-
-    sget-object v1, Landroid/provider/Settings$System;->VOLUME_SETTINGS:[Ljava/lang/String;
-
-    const/4 v2, 0x2
-
-    aget-object v1, v1, v2
-
-    invoke-virtual {v0, v1}, Landroid/media/AudioService$VolumeStreamState;->setVolumeIndexSettingName(Ljava/lang/String;)V
-
     .line 1730
     :cond_1
     :goto_0
diff -ur framework-ronzi/framework.jar.out/smali/com/android/internal/R$id.smali fra
mework-v65/framework.jar.out/smali/com/android/internal/R$id.smali
--- framework-ronzi/framework.jar.out/smali/com/android/internal/R$id.smali     2011
-10-24 17:07:24.000000000 +0900
+++ framework-v65/framework.jar.out/smali/com/android/internal/R$id.smali       2011
-10-24 17:08:36.000000000 +0900

.field public static final status_date:I = 0x1020180

-.field public static final status_volume_add:I = 0x10201f6
-
-.field public static final status_volume_sub:I = 0x10201f5
+.field public static final status_home:I = 0x10201f3

 .field public static final stopSelectingText:I = 0x1020029

これだけではうまく動かなかった。

ちなみに、これで調査中にみつけたこと
・V65proのframework.jar.out/smali/android/media/MediaFile.smaliにFLACサポートっぽい記述がある

 

Jz4760系Androidのbuild.propの違い

firmwareが容易に展開できたJz4760搭載Android機種とJz4770搭載Android機種のbuild.propを比較してみた。(2011/11/01:NOVO7 Basicについて追加)

対象機種
・ronzi A3
・Cruz Tablet T301
・IQQ M1
・Ramos V65PRO
・NOVO7 Basic

比較のベースはronzi A3 20110503版のbuild.prop。

機種ごとに違って当然である項目以外にある、パラメータの差異は以下のようになった。

・「dalvik.vm.dexopt-flags」の値
ronzi A3, Cruz, V65PRO: dalvik.vm.dexopt-flags=m=y,v=n
IQQ M1,NOVO7 Basic: dalvik.vm.dexopt-flags=m=y,v=n,o=a

v=nは-Xverify:none
o=aは-Xdexopt:all
o=vもしくは、o=を指定しない場合は-Xdexopt:verified
m=yがよく分からない。

たぶん「m=y,v=n,o=a」が適切そうな気がするが、カスタムfirmwareでは「m=y,v=n」にしている。

・「ro.kernel.android.checkjni」の値
ronzi A3: ro.kernel.android.checkjni=1
それ以外: ro.kernel.android.checkjni=0
開発中は「1」で、普通は「0」ということなので、カスタムfirmwareでは「0」を採用。

・「ro.sf.lcd_density」の値
ronzi A3, Cruz: 設定無し
IQQ M1, V65PRO, NOVO7 Basic: ro.sf.lcd_density=160
カスタムfirmwareでは「160」としているが、120か130ぐらいでもいいかな?というところ。

・製品の地域設定
中国製品は以下
ro.product.locale.language=zh
ro.product.locale.region=CN
アメリカ製品は以下
ro.product.locale.language=en
ro.product.locale.region=US
カスタムfirmwareではアメリカ設定を採用

・地域やタイムゾーン設定 その2
設定されている場合がある
persist.sys.language=
persist.sys.country=
persist.sys.localevar=
persist.sys.timezone=
カスタムfirmwareでは、この設定は使っていない。

以下は資料。

ベースとなるronzi A3 20110503版のbuild.prop

# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=FRG83
ro.build.display.id=lynx-eng 2.2.1 FRG83 eng.android.20110503.162254 test-keys
ro.build.version.incremental=eng.android.20110503.162254
ro.build.version.sdk=8
ro.build.version.codename=REL
ro.build.version.release=2.2.1
ro.build.date=2011年 05月 03日 星期二 17:14:33 CST
ro.build.date.utc=1304414073
ro.build.type=eng
ro.build.user=android
ro.build.host=android-desktop
ro.build.tags=test-keys
ro.product.model=lynx
ro.product.brand=lynx
ro.product.name=lynx
ro.product.device=lynx
ro.product.board=
ro.product.cpu.abi=mips
ro.product.manufacturer=ingenic
ro.product.locale.language=zh
ro.product.locale.region=CN
ro.wifi.channels=
ro.board.platform=
# ro.build.product is obsolete; use ro.product.device
ro.build.product=lynx
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=lynx-eng 2.2.1 FRG83 eng.android.20110503.162254 test-keys
ro.build.fingerprint=lynx/lynx/lynx/:2.2.1/FRG83/eng.android.20110503.162254:eng/test-keys
# end build properties
#
# system.prop for lynx
#

rild.libpath=/system/lib/libreference-ril.so
rild.libargs=-d /dev/ttyS2

#ro.sf.lcd_density=240

#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.config.notification_sound=OnTheHunt.ogg
ro.config.alarm_alert=Alarm_Classic.ogg
media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
ro.kernel.android.checkjni=1
ro.setupwizard.mode=OPTIONAL
dalvik.vm.dexopt-flags=m=y,v=n
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt
dalvik.vm.heapsize=24m

ronziA3のbuild.propとCruz Tablet T301のbuild.propの違い

@@ -1,21 +1,21 @@
 # begin build properties
 # autogenerated by buildinfo.sh
 ro.build.id=FRG83
-ro.build.display.id=lynx-eng 2.2.1 FRG83 eng.android.20110503.162254 test-keys
-ro.build.version.incremental=eng.android.20110503.162254
+ro.build.display.id=T301-eng 2.2.1 FRG83 eng.szhao.20110513.013344
+ro.build.version.incremental=eng.szhao.20110513.013344
 ro.build.version.sdk=8
 ro.build.version.codename=REL
 ro.build.version.release=2.2.1
-ro.build.date=2011年 05月 03日 星期二 17:14:33 CST
-ro.build.date.utc=1304414073
+ro.build.date=Fri May 13 02:02:22 CST 2011
+ro.build.date.utc=1305223342
 ro.build.type=eng
-ro.build.user=android
-ro.build.host=android-desktop
+ro.build.user=szhao
+ro.build.host=szhao-desktop
 ro.build.tags=test-keys
-ro.product.model=lynx
-ro.product.brand=lynx
-ro.product.name=lynx
-ro.product.device=lynx
+ro.product.model=T301
+ro.product.brand=tablet_p2
+ro.product.name=tablet_p2
+ro.product.device=tablet_p2
 ro.product.board=
 ro.product.cpu.abi=mips
 ro.product.manufacturer=ingenic
-ro.product.locale.language=zh
-ro.product.locale.region=CN
+ro.product.locale.language=en
+ro.product.locale.region=US
 ro.wifi.channels=
 ro.board.platform=
 # ro.build.product is obsolete; use ro.product.device
-ro.build.product=lynx
+ro.build.product=tablet_p2
 # Do not try to parse ro.build.description or .fingerprint
-ro.build.description=lynx-eng 2.2.1 FRG83 eng.android.20110503.162254 test-keys
-ro.build.fingerprint=lynx/lynx/lynx/:2.2.1/FRG83/eng.android.20110503.162254:eng/test-keys
+ro.build.description=T301-eng 2.2.1 FRG83 eng.szhao.20110513.013344
+ro.build.fingerprint=T301/tablet_p2/tablet_p2/:2.2.1/FRG83/eng.szhao.20110513.013344:eng/test-keys
 # end build properties
 #
-# system.prop for lynx
+# system.prop for tablet_p2
 #

 rild.libpath=/system/lib/libreference-ril.so
@@ -47,7 +47,7 @@
 media.stagefright.enable-meta=true
 media.stagefright.enable-scan=true
 media.stagefright.enable-http=true
-ro.kernel.android.checkjni=1
+ro.kernel.android.checkjni=0
 ro.setupwizard.mode=OPTIONAL
 dalvik.vm.dexopt-flags=m=y,v=n
 net.bt.name=Android

ronziA3のbuild.propとIQQ M1のbuild.propの差

@@ -1,21 +1,21 @@
 # begin build properties
 # autogenerated by buildinfo.sh
 ro.build.id=FRG83
-ro.build.display.id=lynx-eng 2.2.1 FRG83 eng.android.20110503.162254 test-keys
-ro.build.version.incremental=eng.android.20110503.162254
+ro.build.display.id=xam5001-eng 2.2.1 FRG83 eng.clivia.20110713.174656 test-keys
+ro.build.version.incremental=eng.clivia.20110713.174656
 ro.build.version.sdk=8
 ro.build.version.codename=REL
 ro.build.version.release=2.2.1
-ro.build.date=2011年 05月 03日 星期二 17:14:33 CST
-ro.build.date.utc=1304414073
+ro.build.date=2011年 07月 13日 星期三 17:52:14 CST
+ro.build.date.utc=1310550734
 ro.build.type=eng
-ro.build.user=android
-ro.build.host=android-desktop
+ro.build.user=clivia
+ro.build.host=ubuntu
 ro.build.tags=test-keys
-ro.product.model=lynx
-ro.product.brand=lynx
-ro.product.name=lynx
-ro.product.device=lynx
+ro.product.model=xam5001
+ro.product.brand=xam5001
+ro.product.name=xam5001
+ro.product.device=xam5001
 ro.product.board=
 ro.product.cpu.abi=mips
 ro.product.manufacturer=ingenic
@@ -24,19 +24,23 @@
 ro.wifi.channels=
 ro.board.platform=
 # ro.build.product is obsolete; use ro.product.device
-ro.build.product=lynx
+ro.build.product=xam5001
 # Do not try to parse ro.build.description or .fingerprint
-ro.build.description=lynx-eng 2.2.1 FRG83 eng.android.20110503.162254 test-keys
-ro.build.fingerprint=lynx/lynx/lynx/:2.2.1/FRG83/eng.android.20110503.162254:eng/test-keys
+ro.build.description=xam5001-eng 2.2.1 FRG83 eng.clivia.20110713.174656 test-keys
+ro.build.fingerprint=xam5001/xam5001/xam5001/:2.2.1/FRG83/eng.clivia.20110713.174656:eng/test-keys
 # end build properties
 #
-# system.prop for lynx
+# system.prop for xam5001
 #

 rild.libpath=/system/lib/libreference-ril.so
 rild.libargs=-d /dev/ttyS2

-#ro.sf.lcd_density=240
+ro.sf.lcd_density=160
+persist.sys.language=zh
+persist.sys.country=CN
+persist.sys.localevar=
+persist.sys.timezone=Asia/Shanghai

 #
 # ADDITIONAL_BUILD_PROPERTIES
@@ -47,9 +51,9 @@
 media.stagefright.enable-meta=true
 media.stagefright.enable-scan=true
 media.stagefright.enable-http=true
-ro.kernel.android.checkjni=1
+ro.kernel.android.checkjni=0
 ro.setupwizard.mode=OPTIONAL
-dalvik.vm.dexopt-flags=m=y,v=n
+dalvik.vm.dexopt-flags=m=y,v=n,o=a
 net.bt.name=Android
 dalvik.vm.stack-trace-file=/data/anr/traces.txt
 dalvik.vm.heapsize=24m

ronzi A3のbuild.propとRamos V65のbuild.propの差

@@ -1,21 +1,21 @@
 # begin build properties
 # autogenerated by buildinfo.sh
 ro.build.id=FRG83
-ro.build.display.id=lynx-eng 2.2.1 FRG83 eng.android.20110503.162254 test-keys
-ro.build.version.incremental=eng.android.20110503.162254
+ro.build.display.id=lynx-eng 2.2.1 FRG83 eng.leo_lee.20110610.103429 test-keys
+ro.build.version.incremental=eng.leo_lee.20110610.103429
 ro.build.version.sdk=8
 ro.build.version.codename=REL
 ro.build.version.release=2.2.1
-ro.build.date=2011年 05月 03日 星期二 17:14:33 CST
-ro.build.date.utc=1304414073
+ro.build.date=2011年 06月 10日 星期五 10:48:34 CST
+ro.build.date.utc=1307674114
 ro.build.type=eng
-ro.build.user=android
-ro.build.host=android-desktop
+ro.build.user=leo_lee
+ro.build.host=jetserver-desktop
 ro.build.tags=test-keys
-ro.product.model=lynx
-ro.product.brand=lynx
-ro.product.name=lynx
-ro.product.device=lynx
+ro.product.model=Ramos V65PRO
+ro.product.brand=Ramos
+ro.product.name=Ramos V65PRO
+ro.product.device=V65PRO
 ro.product.board=
 ro.product.cpu.abi=mips
 ro.product.manufacturer=ingenic
@@ -26,8 +26,8 @@
 # ro.build.product is obsolete; use ro.product.device
 ro.build.product=lynx
 # Do not try to parse ro.build.description or .fingerprint
-ro.build.description=lynx-eng 2.2.1 FRG83 eng.android.20110503.162254 test-keys
-ro.build.fingerprint=lynx/lynx/lynx/:2.2.1/FRG83/eng.android.20110503.162254:eng/test-keys
+ro.build.description=lynx-eng 2.2.1 FRG83 eng.leo_lee.20110610.103429 test-keys
+ro.build.fingerprint=lynx/lynx/lynx/:2.2.1/FRG83/eng.leo_lee.20110610.103429:eng/test-keys
 # end build properties
 #
 # system.prop for lynx
@@ -36,7 +36,7 @@
 rild.libpath=/system/lib/libreference-ril.so
 rild.libargs=-d /dev/ttyS2

-#ro.sf.lcd_density=240
+ro.sf.lcd_density=160

 #
 # ADDITIONAL_BUILD_PROPERTIES
@@ -47,9 +47,10 @@
 media.stagefright.enable-meta=true
 media.stagefright.enable-scan=true
 media.stagefright.enable-http=true
-ro.kernel.android.checkjni=1
+ro.kernel.android.checkjni=0
 ro.setupwizard.mode=OPTIONAL
 dalvik.vm.dexopt-flags=m=y,v=n
 net.bt.name=Android
 dalvik.vm.stack-trace-file=/data/anr/traces.txt
 dalvik.vm.heapsize=24m
+persist.sys.timezone=Asia/Shanghai

ronzi A3のbuild.propとNOVO7 Basicのbuild.propの差

@@ -1,21 +1,21 @@
 # begin build properties
 # autogenerated by buildinfo.sh
 ro.build.id=FRG83
-ro.build.display.id=lynx-eng 2.2.1 FRG83 eng.android.20110503.162254 test-keys
-ro.build.version.incremental=eng.android.20110503.162254
+ro.build.display.id=npm701-eng 2.2.1 FRG83 eng.szhao.20111029.043636 test-keys
+ro.build.version.incremental=eng.szhao.20111029.043636
 ro.build.version.sdk=8
 ro.build.version.codename=REL
 ro.build.version.release=2.2.1
-ro.build.date=2011年 05月 03日 星期二 17:14:33 CST
-ro.build.date.utc=1304414073
+ro.build.date=Sat Oct 29 05:09:13 CST 2011
+ro.build.date.utc=1319836153
 ro.build.type=eng
-ro.build.user=android
-ro.build.host=android-desktop
+ro.build.user=szhao
+ro.build.host=szhao-desktop
 ro.build.tags=test-keys
-ro.product.model=lynx
-ro.product.brand=lynx
-ro.product.name=lynx
-ro.product.device=lynx
+ro.product.model=npm701
+ro.product.brand=npm701
+ro.product.name=npm701
+ro.product.device=npm701
 ro.product.board=
 ro.product.cpu.abi=mips
 ro.product.manufacturer=ingenic
@@ -24,19 +24,24 @@
 ro.wifi.channels=
 ro.board.platform=
 # ro.build.product is obsolete; use ro.product.device
-ro.build.product=lynx
+ro.build.product=npm701
 # Do not try to parse ro.build.description or .fingerprint
-ro.build.description=lynx-eng 2.2.1 FRG83 eng.android.20110503.162254 test-keys
-ro.build.fingerprint=lynx/lynx/lynx/:2.2.1/FRG83/eng.android.20110503.162254:eng/te
st-keys
+ro.build.description=npm701-eng 2.2.1 FRG83 eng.szhao.20111029.043636 test-keys
+ro.build.fingerprint=npm701/npm701/npm701/:2.2.1/FRG83/eng.szhao.20111029.043636:en
g/test-keys
 # end build properties
 #
-# system.prop for lynx
+# system.prop for npm701
 #

 rild.libpath=/system/lib/libreference-ril.so
-rild.libargs=-d /dev/ttyS2
+rild.libargs=-d /dev/ttyS3

-#ro.sf.lcd_density=240
+ro.sf.lcd_density=160
+
+persist.sys.language=zh
+persist.sys.country=CN
+persist.sys.localevar=
+persist.sys.timezone=Asia/Shanghai

 #
 # ADDITIONAL_BUILD_PROPERTIES
@@ -47,9 +52,9 @@
 media.stagefright.enable-meta=true
 media.stagefright.enable-scan=true
 media.stagefright.enable-http=true
-ro.kernel.android.checkjni=1
+ro.kernel.android.checkjni=0
 ro.setupwizard.mode=OPTIONAL
-dalvik.vm.dexopt-flags=m=y,v=n
+dalvik.vm.dexopt-flags=m=y,v=n,o=a
 net.bt.name=Android
 dalvik.vm.stack-trace-file=/data/anr/traces.txt
 dalvik.vm.heapsize=24m

MIPS Androidについて

MIPS androidについてざらっと調べて出てきたものを並べてみる。
2011年7月現在、Jz4760系とAMT-7001系の2種類がある。
Jz4760系は、firmwareの基本部分は共通でMIPSの公開ソースをベースとしているようだ。そのベースに各社のハードウェアに合わせてドライバを追加しているような感じ。

・Velocity Micro: Cruz T301
アメリカで2010年秋ぐらいから販売中らしい。
2011年5月にAndroid 2.2へのアップデータがでた。

CPU Jz4760 600MHz
RAM 256MB
内蔵ストレージ 2GB
スクリーン 7インチ 800×600 感圧式
無線LAN 802.11n
外部向け画面出力 不明
バッテリー 容量不明
電源入力 不明

・溶叡(ronzi): ronzi A3
2011年5月ぐらいから販売されている。
MID E430という名称で販売しているところもある模様。

CPU Jz4760 600MHz
RAM 256MB
内蔵ストレージ 4GB
スクリーン 4.3インチ 480×272 感圧式
無線LAN 802.11b/g
外部向け画面出力 アナログ TV-OUTあり
バッテリー 容量不明
電源入力 5V

・溶叡(ronzi): ronzi A5
2011年5月ぐらいからメーカページには掲載されているが、一向に製品を見かけない5インチバージョン。
CPUがXburstとなっているが、Jz4760であるかどうかは確認が取れていない。

CPU Xburst 600MHz
RAM 256MB
内蔵ストレージ 4GB
スクリーン 5インチ 800×480 感圧式
無線LAN 802.11b/g
外部向け画面出力 アナログ TV-OUTあり
バッテリー 容量不明
電源入力 5V

・歌美(gemei): HD8800 PRO
2011年7月現在、発売されているんだか、いないんだか、よくわからないモデル。
見た目はronzi A3との類似点が多いが、裏面のデザインが違う感じ。
HDMI出力もあるというし。
後述のHD8900-PROのCPUはAMT-7001らしいが、こちらについてはMIPS系であるという点以外には情報がまだない。
どうやらリリース中止になった模様。(2011/09)

CPU 不明 600MHz
RAM 256MB
内蔵ストレージ 4GB
スクリーン 4.3インチ 480×272 感圧式
無線LAN 802.11n ?
外部向け画面出力 HDMIあり
バッテリー 容量不明
電源入力 5V
サイズ 114x75x12mm

・歌美(gemei): HD8900 PRO
2011年7月ぐらいから販売を開始したらしいモデル。
ただの5インチ版かと思ったら、解剖記事によれば炬力集成(Actions Semiconductor)製のAMT7001というCPUを使用しているようです。
firmware updateがある。(2011/09)

CPU AMT7001 600MHz
RAM 256MB
内蔵ストレージ 8GB
スクリーン 5インチ 800×480 感圧式
無線LAN 802.11n ?
外部向け画面出力 HDMIあり
バッテリー 容量不明
電源入力 5V
サイズ 129x86x13mm

・怪しげなGSM携帯: P800
メーカページは見かけない。
xda-developerにP800 chinese dual sim Android ? upgrade to 2.2.1という記事があったりで、firmwareの入手とかは可能。
Z800というモデルもある模様。

CPU Jz4760 600MHz
RAM 256MB
内蔵ストレージ 不明
スクリーン サイズ不明 感圧式
無線LAN あるようだが詳細不明
外部向け画面出力 なし
バッテリー 容量不明
電源入力 不明
サイズ 不明

・BOPAD Q720
いくつかの情報サイトに掲載されているがメーカページはよくわからない。

CPU Jz4760 600MHz
RAM 256MB
内蔵ストレージ 2GB
スクリーン 7インチ 800×480 感圧式
無線LAN あるようだが詳細不明
外部向け画面出力 なし
バッテリー 2200mAh
電源入力 不明
サイズ 不明