Eee Note Syncがv1.2.2.52からv1.2.2.58へアップデート
アップデートしてEee Note Syncアプリの初回起動時は、日本語のwordドキュメントが開く、という仕様のようです。
ざらっと見た目では特に違いはなさそうな感じです。
Eee Note EA800本体の方のfirmwareは、ロシア語版はv139になる更新があるようですが、それ以外にはまだのようです。
技術的なことをメインにいろいろ書いてくサイトです
Eee Note Syncがv1.2.2.52からv1.2.2.58へアップデート
アップデートしてEee Note Syncアプリの初回起動時は、日本語のwordドキュメントが開く、という仕様のようです。
ざらっと見た目では特に違いはなさそうな感じです。
Eee Note EA800本体の方のfirmwareは、ロシア語版はv139になる更新があるようですが、それ以外にはまだのようです。
ronzi A3に、IQQ M1用とかRamos V65PRO用のfirmwareからもってきたファイルをいろいろ書き込んで見ている。
・/system/app/Launcher2.apk
ronzi A3, IQQ M1, V65ので違いがある
・/system/framework/ の中身全部
IQQ M1のを入れても、V65のを入れてもそこそも動く。
ただ、PowerManager関連でエラーがでる。
V65の場合、ステータスバーにボリューム調整ボタンが無くなる。
IQQ M1のやつのが無難か?
ただ、書き換えようによっては、無限再起動に陥るようだ。
(そうなってもUSBbootoolで修正firmwareを書き込めるので問題は無い)
とりあえず、メモ書き程度のものですが・・・
・userdata.img
/data パーテーションとなる場所
/data/app
普通にアプリをインストールすると、ここに入る。
あらかじめここにapkをおいておくと、プレインストールだけど削除できる、というアプリになるがいくつか制約事項がある。
インストール時に/data/dataにファイルを作るapk、例えば、nicoWnnGなどを置く場合に注意が必要となる。
nicoWnnGは、インストール時に /data/data/net.gorry.android.input.nicownng/lib/に辞書ライブラリファイルを作成する。
また、起動させた際には /data/data/net.gorry.android.input.nicownng/ にいろいろファイルをつくる。
その他、Jz4760ではAngryBirdsを動かすと駒落ちが低いので、低品質版を起動させたいが、標準設定では高品質版となっている。これを初回起動時から低品質版で起動させるには、/data/data/com.rovio.angrybirds/files/settings.lua というファイルに「gfxLowQuality = true」と書いておけばいい。
ここで注意しなければならない点は、/data/data/以下に作られるディレクトリというのは、アプリケーションごとに割り当てられたUID/GIDでパーミッションが作られる、という仕様である。
一般アプリは10000番から後の数字がつくが、インストール時に自動生成されるため、こういった場合に非常に困る。
RamosV65Proには、gfxLowQuality=trueの設定が入っていたので、その設定の通りにディレクトリにパーミッションとUID/GIDを設定してみたのですが、全然駄目でした。
今回は、あまり良くない対応なのですが、777の全ユーザに対して許可を行ってしまいました。
・system.img
/system パーテーションになる場所。
/system/app が消せないプレインストールアプリの置き場。
/data/appと違って、初回起動時にインストール処理をちゃんとやってくれているっぽい。
/system/appのアプリも、/data/dataにファイルを作る。
・boot.imgを分解結合して遊ぶ
split_bootimg.pl, mkbootfs, mkbootimgを使って分解結合して遊べます。
試しにRamosV65PROのboot.img-kernelとronziA3のboot.img-ramdisk.gzを組み合わせるとどうなるかな、と試したところ、画面が出てきませんでした。
logo.rle のロゴも出てこないので、ハードウェア的にいろいろ異なっていそうです。
・/system/bin/wifi_switch.sh の件
RamosV65Pro,IQQ M1では、init.rc内で/system/etc/wifi_switch.shを実行しているけど、wifi_switch.shの内容を確認すると、存在しないファイルを指定している・・・
dhd_4760.ko dhd_4760b.koが存在するものはなんなのか?
→ Cruz Tablet T301でした。
# ls -l mnt/lib/wifi/modules/brcm/ 合計 768 -rw-r--r-- 1 root root 406855 4月 8 2011 dhd_4760.ko -rw-r--r-- 1 root root 372126 4月 8 2011 dhd_4760b.ko #
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
ronzi A3のカスタムfirmwareを新しく作りました。
firmware base: ronzi公式配布のRK43_60WFRT_RZA3_20110511_1
Warning: wifi MAC address will be changed. All data lost! Also, /mnt/sdcard data lost, too!
change
* remove chinase apk.
* add LatinIME.apk and nicoWnnG.apk
* update market apk and google apk from 2011_01_13-signed.zip
* replace /system/framework from Ramos V65PRO firmware
* change some /system/build.prop value, it’s from Ramos V65PRO.
* add Dalvik Turbo VM.
* support /system/etc/init.d/ files.
* add IngenicScreenCalibration.apk from Ramos V65Pro firmware
* add Japanese font file(/system/fonts/DroidSansJapanese.ttf).It’s MTLc3m.ttf.
警告:
・無線LANのMACアドレスが変わります(USBtoolで適用するとかならず変わります)
・全部のデータが消えます。/mnt/sdcard のデータも消えます。(/mnt/sdcard1 は消えません)
変更点
・中華なapkを消しました
・英語圏用IMEと日本語圏用IME(nicoWnnG)を追加しました
・マーケット関連のapkを更新しました
・frameworkライブラリをRamos V65PROのものと置き換えてみました
・/system/build.propをRamos V65PROで採用されているパラメータに変更しました
・高速化を狙ってDalvik Turbo VMを入れてみました。
・/system/etc/init.d/ においたファイルを起動時に実行するようにしました
(/system/etc/init.d/99end を消すと起動が途中で止まるので注意してください)
・IngenicScreenCalibration.apkをRamos V65Proから持ってきました。
設定-表示にてキャリブレーションができるようになります。
・MTLc3m.ttfを/system/fonts/DroidSansJapanese.ttfとして配置しました。
* flashtool :A3_updatetools_pack.zip http://www.multiupload.com/P5J4282P0E
* firmware: ronziA3_20111018a.zip http://www.multiupload.com/AZJ1NXPQ76
How to flash firmware.
English guide: ronzi A3 firmware update guide
日本語: ronzi A3 その4 firmwareアップデート
おまけ
DalvikTurboのドキュメントを見ると、FPU搭載でも標準設定ではFPUを使用しない。
「/data/local.prop」に「ddac.enableFpu=true」という記述を入れることで、FPUを使うようになる、と書いてある。
上記のカスタムfirmwareでは、この設定を入れている。
ちなみに設定してみた場合の起動直後のlogcatメッセージは以下の様になる。
D/AndroidRuntime( 81): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<< D/AndroidRuntime( 81): CheckJNI is OFF I/dalvikvm( 81): Init:sysconf(_SC_PAGESIZE)=4096 I/dalvikvm( 81): DalvikTurbo: build FRG83 @ 199354 on May 26 2011 00:41:37 I/dalvikvm( 81): CM_init: dvmPlatformInvoke @ &0x7d711000 I/dalvikvm( 81): CM_getProperty(ddac.traceLog) => NULL I/dalvikvm( 81): CM_getProperty(ddac.threshold) => NULL I/dalvikvm( 81): CM_init: threshold=1000 I/dalvikvm( 81): CM_getProperty(ddac.firstFrag) => NULL I/dalvikvm( 81): CM_getProperty(ddac.lastFrag) => NULL I/dalvikvm( 81): CM_getProperty(ddac.onlyFrag) => NULL I/dalvikvm( 81): CM_getProperty(ddac.printFrags) => NULL I/dalvikvm( 81): CM_getProperty(ddac.printFragsFail) => NULL I/dalvikvm( 81): CM_getProperty(ddac.printFragsInline) => NULL I/dalvikvm( 81): CM_getProperty(ddac.onlyAmStart) => NULL I/dalvikvm( 81): CM_getProperty(ddac.enableFpu):P => 'true' I/dalvikvm( 81): CM_getProperty(ddac.livenessAnalysis) => NULL I/dalvikvm( 81): CM_getProperty(ddac.enableInlining) => NULL I/dalvikvm( 81): CM_getProperty(ddac.nullPageSize) => NULL I/dalvikvm( 81): CM_getProperty(com.jbed.mips.txx) => NULL I/dalvikvm( 81): CM_getProperty(com.jbed.mips.sigbusAdj) => NULL I/dalvikvm( 81): CM_init: 8 x 32Kb buffers at 0x7d7c0000..0x7d800000 I/dalvikvm( 81): CM_getProperty(ddac.queueLen) => NULL
ちゃんと、「CM_getProperty(ddac.enableFpu):P => ‘true’」というのが認識されているようだ。