Unofficial port of AOKP for Nexus7 (2013) LTE
AOKP の rezorg/deb 用がなかったので自分で port してみました。JLS36G ベースです。
ビルド環境は Gentoo (amd64) と、 Nexus7 実機です。
ソース
コチラに置きました。
github どころか git コマンドも初めてでうまくいっているかわからないんだけど…。
How to Build
repo って何?とか git って何って人はその辺から調べてもらうとして…
AOKP ソースの取得
repo コマンドで AOKP のソースをとってきます。このとき flo ( Wi-Fi モデル) と asus をとってくるのがポイント。
$ mkdir ~/src/mydroid $ cd ~/src/mydroid $ repo init -u https://github.com/AOKP/platform_manifest.git -b jb-mr2 -g all,-notdefault,flo,asus
deb 用のソースの取得
その後、拙作のソースをとってきます。
$ cd ~/src/mydroid/device/asus/ $ git clone https://github.com/koron393/device_asus_deb.git deb $ cd ~/src/mydroid/vendor/ $ rm -rf aokp $ git clone https://github.com/koron393/vendor_aokp.git aokp
今回は元々ある vendor/aokp を削除して対応していますが、 vendor/aokp/ 以下は vendor/aokp/product/deb.mk と vendor/overlay/deb が必要なだけなので、それを取り出してコピーしてやるだけでもいいかも。
- 追記
- もしくは local_manifests ディレクトリにこんな感じで書くといいのかな?
$ cd ~/src/mydroid
$ cat ./.repo/local_manifests/aokp_deb.xml
<manifest> <remote name="github" fetch="git://github.com/" /> <remove-project name="AOKP/vendor_aokp" /> <project path="device/asus/deb" name="koron393/device_asus_deb" remote="github" revision="master" /> <project path="vendor/aokp" name="koron393/vendor_aokp" remote="github" revision="jb-mr2" /> </manifest>
プロプライエタリなファイルの取得
今度はプロプライエタリなバイナリ達をとってきます。ここにあります。
これらの tgz なファイルはソースツリーのルート (今回は ~/src/mydroid ) においてあげます。
その後解凍して、
$ for i in *.tgz > do > tar zxf $i > done
できた sh ファイルを実行します。
$ for i in *.sh > do > ./${i} > done
次に実機から必要なファイルを吸い出します。実機と開発機を接続し (adb が動くものとします)
$ cd ~/src/mydroid/device/asus/deb/
$ ./extract-files.sh
必要なファイルが adb pull でどんどん吸い出されていくはずです。
いよいよ make
JDK とかもろもろ必要なツールさえそろっていれば、こんな感じで動くはずです。
$ cd ~/src/mydroid/ $ . build/envsetup.sh $ breakfast deb $ brunch deb
結構時間かかります。調べ物をしたり仮眠をとるなりして待ちましょう。
for Gentoo users
ちなみに Gentoo な人は
$ eselect java-vm set user sun-jdk-1.6
もしくは
$ sudo eselect java-vm set system sun-jdk-1.6
して、 build/core/config.mk に以下のパッチを当てないと動きだしませんのでご注意。
diff --git a/core/config.mk b/core/config.mk index 184a17c..1a2003b 100644 --- a/core/config.mk +++ b/core/config.mk @@ -344,10 +344,10 @@ ifeq ($(BUILD_OS),darwin) HOST_JDK_TOOLS_JAR := else HOST_JDK_TOOLS_JAR:= $(shell $(BUILD_SYSTEM)/find-jdk-tools-jar.sh) -ifeq ($(wildcard $(HOST_JDK_TOOLS_JAR)),) -$(error Error: could not find jdk tools.jar, please install JDK6, \ - which you can download from java.sun.com) -endif +##ifeq ($(wildcard $(HOST_JDK_TOOLS_JAR)),) +##$(error Error: could not find jdk tools.jar, please install JDK6, \ +## which you can download from java.sun.com) +##endif endif # Is the host JDK 64-bit version?
成果物
こちらに置いておきます。
adb でデフォルト root だとゲームが…!というぱずどらーな方は以下も有用です。こちらの boot.img をフラッシュするなりして、そんでもって su バイナリを消すなりすればパズドラも動くことを確認しました。
謝辞
ソースの扱いは AOSP/CM/AOKP の扱いに準じます。
今回の port には kelvie氏のCM10.2 port と AOKP-team の AOKP flo port をだいぶ参考に (というかほぼ写し) させていただきました。
感謝いたします。
サポート等
当方カーネル構築等の多少のスキルしか持ちあわせておらず、コードを読むスキルを持ち合わせていないため、基本的にいたしません…というか出来ないと思って下さい。が、バグレポートは歓迎いたします。ここに書くよりは Twitter の方が反応しやすいです。
ところで、誰か XDA に書いてきてくれるとかいう人はいませんかね…(笑)
つーか、 deb 用が公開されないのは実は flo 用で全部動くとかいうオチじゃ…ないよね?(´・ω・`)
# カーネル以外試してません…
以下は広告です
Google Nexus 7 (2013) TABLET/ブラック(Android/7inch/APQ8064/2G/32G/BT4/LTE) ME571-LTE Asustek 2013-09-13 売り上げランキング : 73 Amazonで詳しく見る by G-Tools |
Poetic Slimline Case for Google Nexus 7 2nd Gen 2013 (Black) 日本正規品 Poetic 売り上げランキング : 1917 Amazonで詳しく見る by G-Tools |