手持ちのht-03aに自力ビルドのandroidを入れようと思いながら早2日。
色々大変です。
1.android4.2.2はht-03aには入らない。ネットを検索してもそういう例がないみたい。
2.仕方ないので、gingerbread(android2.3?)のソースをダウンロード。
3.ビルドが通らない。
(1)よく分からないのだが、そう書いてあるサイトもあったので、makeの前に、
. build/envsetup.shlunch full-eng
としてから、makeしていた。
しかし、後述するが、これではht-03a用のmakeでなく、汎用のmakeになるのかもしれない。
とりあえず、俺にはよく分からないが
“device/htc/ace/ace.mk”がありません
みたいなのが出てエラーになるので、それで検索。
http://csidiropoulos.wordpress.com/2012/11/06/devicehtcaceace-mk-does-not-exist-stop-cyanogenmod/
このページを発見し、しばらく意味が分からず考えるが、要は、
ソースフォルダ/vendor/cyanogen/products/AndroidProducts.mk
に、対応する全てのデバイス用のmakeファイルが書かれているので、自分に必要ない部分は消せばいいと書かれていると思われた。
そこで、 AndroidProducts.mkから、ht-03a(dream_sapphire)以外の記述を全部削除。
しかし、それでもビルドは通らない。(htc aceのmakeの記述は消したので、内容は下記みたいな感じ)
“device/htc/dream_sapphire/full_dream_sapphire.mk”がありません。
これはおかしいと思い、device/htc/フォルダを見るが、dream_sapphireというフォルダがない。
他のデバイスのフォルダもないように見える。
ソースのダウンロードの仕方がまずかったのか、もしくは、元々別にダウンロードしなければならないのかはよく分からないが、しばし考えて、とりあえずここだけダウンロードしてくればいいのかなと思い、ネットからdream_sapphireのソースと思われるものをダウンロード。
https://github.com/cyanogenmod/android_device_htc_dream_sapphire
落としたソースはなんとなく良さそうだったので、フォルダ名をさっきエラーが出ていたdream_sapphireという名前に変えて、device/htc/に置く。
そして、make。通った。
しかしその後、
http://yueno.homeip.net/xoops/modules/xpwiki/?%E6%90%BA%E5%B8%AF%E9%9B%BB%E8%A9%B1%2FHT-03A%2FAndroid%2Fandroid%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB&word=
を見て、ht-03aをPCにUSBにつないでadbが通る状態にした上で、
cd ~/android/system/device/htc/dream_sapphire/ ./extract-files.sh
とやると、繋いだht-03aの資産をそのフォルダに持ってきてくれるらしいということが判明し、
一応その通りにした。
(2)make otapackageがエラーになる。
とりあえず、makeが終わったので、それを実機に突っ込みたい。
make otapackage
とやると、パッケージ化してくれるという記述を発見したが、そうやってもパッケージがないと言われるエラーになる。
そして、またgoogleで調査していた所、lunchでfull-engを選択すると、otapackageには対応しないという記述を見つける。
それを見て、よく分からないけど、make前のlunchでht-03a用の設定にしていないから、ht-03a用のモジュールがビルドされていないのではないかと思いつく。
他のサイトで、
lunch cyanogen_XXX-eng
みたく指定しているサイトがあったので、
次は
lunch full-eng
を、
lunch cyanogen_dream_sapphire-eng
に変えてみた。これで、dream_sapphire(=ht-03a)用の設定になってくれたのではないかと期待。
その後makeしたら、ある程度までビルドは通ったが、またエラー。
out/target/product/dream_sapphire/obj/lib/libgps.soがありません。
みたいな感じ。
またgoogle検索し、今度は、
http://forum.cyanogenmod.org/topic/38769-cm72-bugs-and-other-issues/
を見て、よく読めないが、多分
vendor/htc/dream_sapphire/proprietary/の
libgps.so
libcamera.so
を、
out/target/product/dream_sapphire/obj/lib/ out/target/product/dream_sapphire/system/lib/
辺りにコピればいいと書かれているように見える。
それgpsとcameraのビルドをあきらめて、元の資産を使うって意味だよね・・・と思いつつも僕のその通りにする。
その後ビルドすると、今度は
undefined reference to 'openCameraHardware'
でエラー。
それもさっきのサイトに載っていて、
device/htc/dream_sapphire/BoardConfig.mk
USE_CAMERA_STUB := true
を
USE_CAMERA_STUB := false
書き換えればよいらしいので、そうする。そしてビルドは通り、
make otapackageにも成功した。
これでht-03aで動くんだろうか。
(3)ht-03aに突っ込む
rom書く所で見事にエラー。
検索すると
http://cielsomer.blog.fc2.com/blog-entry-214.html
の
③.しかし、エラーが出て焼けない。
と同じような現象だが、何か全然違うな気もする。
日本語だからなのか、親切なブログだからなのか、回避策が読みやすい。
僕のは
assert(getprop("ro.bootloader") == "1.33.0013" ||
getprop("ro.bootloader") == "1.33.2013" ||
getprop("ro.bootloader") == "1.33.3013" ||
getprop("ro.bootloader") == "1.33.0013d");
でエラーだが、
リンク先のやつは、ro.product.device。
何か別物だったらどうしよう、と思いつつ、update_scriptからその記述を削除。
しかし、今度はupdater_scriptが編集されているので、Wrong digest(おそらく、zipが不正)となり、エラー
http://androidlover.net/smartphone/galaxynexus/custom-myupdate-zip.html
を見ながら、ファイルが壊れるのは7zipじゃないubuntu標準のアーカイバを使っているからではないかと思い、
ここでついにubuntuを諦めて、Windowsへ移動。
しかし、Windowsだろうが7zipだろうが、zipの中身を書き換えたら同じことが起こる。
ネットを調べると、リカバリツールによっては、チェックを無効に出来るとのことだったが、
僕の使っていたリカバリツールは RA sapphireで、RA sapphireではチェックを無効にすることはできないらしい。
そこで、リカバリツールをClockworkModeに変更。
すると、チェックされずにinstallできたが、今度はいつまで待ってもdocomoのロゴが消えてくれない。
理由はさっぱり分からず、色々試行錯誤しながら4時間くらい経ったとき、
下記のサイトの下記の記述を閲覧させてもらっている時に、
しばらく経ってやっとその意味を理解する(まあ、おそらくそのまんまの意味なんですが)。
http://diary.cyclekikou.net/?p=5673
>まず、最も重要なことはradioとSPLを新しいものに入れ換えないとインストールできないということです。以前はCyanogenMod-6.1.0 >を使っていましたが、その時のままGingerbreadを入れようとしてもインストール時にエラーが出てできませんでした。
僕のSPL(とは何なのか、未だによく分からないけど)は1.33.0006。
そういえば、さっき、1.33.0013等じゃないのでエラーですってなっていた。
弾かれてるのを無理やりチェックをはずしてインストールしたけど、
やっぱりそのチェックを入れるのは正しかったということなのでは・・・。
そして、1.33.0006→1.33.0013dにバージョンアップする方法があり
(それが、割と有名らしいメモリ増量というやつらしいのだが)、
それをやらないとgingerbreadをht-03aに入れることはできないっぽい。
そういうわけで、僕もht-03aをメモリ増量することになった。
そして、今、なんとかgingerbreadのインストールまで行きました。
とにかく自分でビルドしたやつを実機に入れたかっただけなのに、超苦労してしまいました。
カメラを使うと落ちるし(それは心当たりがあるのでいいけど)、
音楽アプリとロック画面は変ですし(画像参照。文字化けはいいけど、「
OK」って何?)、
googleアプリは入れてないですが(なので、カメラと同じくらいやばそうなgpsも試してない)、
他は概ねよさげでした。
とりあえず、入れといてあれですが、メモリ増量する事自体気に入らないので、gingerbreadは諦めて、
froyoか2.1にしようかなと思います。
0 件のコメント:
コメントを投稿