Android端末いじりたい欲が高まったのでやってみた




で、今ナウいのがResurrection RemixとかいうCyanogenModベースの多機能ROMというのがあって、しかもちょうどよいところに放置してたHTL22に@tako0910さんが移植してたので手を出してみたという次第。

どうやらGPSは使えない&NFCは送信のみ可能&トーチライトは一瞬つくけどすく消えちゃうようだ。

ROMはtako0910さんがAndroidFileHostにあげてるやつダウンロードするか、自分でビルドということで。

ビルド方法はほたさん(@lindwurm)の記事local_manifests見てもらえばわかるんちゃうん?
ArchLinuxでビルドする場合はArchWiki見てもらえばわかるかもしれんけど適当に書くと、

1,Multilibを有効にする

2,パッケージを入れる
 AOSPはmavenいらんっぽいけどRRは必要(CMは知らん)。JDKはLollipopからOpenJDK7になってごく最近からデフォルトでもOpenJDK8でOKになったらしい。ncurses5入れてんのはビルド済みのclangが古いかららしい(Archはもうncurses6)

# pacman -S git gnupg flex bison gperf sdl wxgtk squashfs-tools curl ncurses zlib schedtool perl-switch zip unzip libxslt python2-virtualenv bc gcc-multilib lib32-zlib lib32-ncurses lib32-readline maven rsync jdk7-openjdk repo
$ yaourt -S libtinfo ncurses5-compat-libs lib32-ncurses5-compat-libs


3,RRのソースツリーをダウンロードする

$ mkdir rr;cd rr
$ repo init -u https://github.com/ResurrectionRemix/platform_manifest.git -b marshmallow
$ repo sync -j8 --force-sync


4,m7wljのkernel, device(, vendor)をダウンロードする
 rr/.repo/local_manifests/に適当な名前でさっきのgistのやつをおいてrepo syncし直す。
 公式端末はbreakfast {デバイス名。kltekdiとか}でできるけど非公式端末だとそういうことはできないのでおとなしく手動で追加する。
 breakfastならcm.dependecesってファイルみて自動で依存解決するけど手動でやるときは依存解決も手動ですることになるはず?
 あと公式のリポジトリだと具合が悪くて自分でフォークしたやつ挿したいときはremove-projectした後追加するっぽい。
 kernelとdeviceのリポジトリは普通にrepo syncすればいいんだけど、vendorについてはお察しください。

5,virtualenvの設定をする
 Androidのビルドは未だにPython2らしいのでvirtualenvを設定する

(rrにいるという前提)
$ virtualenv2 venv

6,ビルド
 venvを起動してenvsetup.shを読み込んでbrunch {デバイス名。今回はm7wlj}する。
 毎回いくつかコマンド打つのは面倒なのでちょっとしたスクリプトを書いた。



 上記のことの他に開始/終了時間を最後に追記したビルドログのgzが吐かれるスクリプトとなっている。
$ cmbuild.sh m7wlj

みたいな感じで実行する。


翻訳について軽く触れておくと、もともとCMベースでCMの部分はほとんど翻訳終わってるし、RR固有の文の翻訳は上記のほたさんをはじめとした人々が目につくところはだいたい終わらせていて(と言っても29%ほどだけど)、初心者が手を出すには難しいなんかよくわからん機能の翻訳とかしか残ってない。

なので「ワイの使ってる機能翻訳されてないやんけ!!」という人以外はあまり翻訳を勧められない状況にある。(モチベーションがないし、使ってみないと文脈がわからんものばかりで危険)

そんでもやりたい人はCrowdinからどうぞという感じ。
スポンサーサイト