Nexus7 (2013) + CM11 でパズドラがダウンロードループする

実は先の BeanStalk 自体はしばらく前から出来ていたんです…が!

ビルドした ROM をインストールしてみたら某ゲーム…というかパズドラ…がダウンロードループする事象が発生し、これの原因切り分けに苦労していたのです。長く AOKP を愛用してきた私が BeanStalk をビルドしようと思ったのは、実は AOKP でパズドラが出来なくなったことが原因なのでして…


(多分 この日 の直前のアップデートだったと思う)


2 週間くらい前かな、ひっさびさに BeanStalk が更新されたので、早速ビルドしてインストールしてパズドラをプレイしようとしたら AOKP の時の悪夢がっ!という感じですよ。参りました。


困ってしまったので、過去 1 ヶ月半くらいの間のコミットをしらみつぶしに探して原因を探りましたよ。でもなかなか見つからず。たぶん frameworks あたりだろうとたくさんのコミットに目を通しました。しかし直らず…。パズドラ側が何をチェックしているのか logcat にも何も吐き出さないし。でも最終的には BeanStalk 本体ではなく Cyanogenmod のこのコミットが原因だと突き止めることが出来ました。


bionic です。なんてことはないパッチです。むしろこれでなんでループするのかわからないです。本来別の場所 (カーネルかなぁ?) を合わせて改修する必要があるのやもしれませんが、よくわからないのでこれを潰してビルドしてやります。すると、パズドラは無事ダウンロードループから抜け出します。

このコミット、何せ AOSP から来ているので、 CM11 以外の多くの ROM で採用されています。 Mahdi にも最近入りました。よく見りゃ AOKP にもこのコミット去年の 12 月にw入ってます。

(対処法わかったし AOKP に戻ろうかなぁ…)


対処方法(1)

長くなりましたが、対処方法です。

  • コミットを潰して (-R) ビルドする。
$ cd android/bionic
$ wget https://github.com/CyanogenMod/android_bionic/commit/a6ec766e03030feb1c3fbb0579e30419c26361c5.patch
$ git apply a6ec766e03030feb1c3fbb0579e30419c26361c5.patch -R -v
$ cd -
$ breakfast deb
$ brunch deb


どこか別の場所をこのコミットにあわせて修正するのが正しいのでしょうし、本来 fetch したり cherry-pick したりするんでしょうが、私にはスキルがないので…。 github はコミットの URL の最後に「.patch」をつけるとパッチが落ちてくるので、これを -R でリバースしてあててビルドすると、こんな感じです。

対処方法(2)

bionic から作成される対象ファイル libc.so をロールバックする方法です。

予め古い CM11 なり MAHDI なり何なりをダウンロードしておいて、 /system/lib/libc.so を抜き出します。そしてリカバリーに入ります。ブートメニューから入ってもいいですし、コマンドからでもいいです。

そして予め抜き出しておいた /system/lib/libc.so を上書きして chmod してやるだけで大丈夫です。

コマンドだけでやるならこんな感じかなぁ…。

\ adb push libc.so /sdcard/
\ adb reboot recovery

adb push で端末に転送した後、リカバリーにリブートしてます。

\ adb shell

リカバリーが起動したら adb デバッグに入ります。

# mount /system
# cp /sdcard/libc.so /system/lib/
# chmod 644 /system/lib/libc.so
# reboot

system をマウントし、コピーしたあと権限を戻してやり、再起動してます。


まぁ、わかりますよね。

出来る人なら、オレオレ zip を作って install でも良いと思います。

あとは楽しいパズドラライフを!


私は最近テクダンのゼウスとノーマルのヘラばっかり回っています。良アプデでした。



パズル&ドラゴンズ オリジナルサウンドトラック イトケン・リミテッドパズル&ドラゴンズ オリジナルサウンドトラック イトケン・リミテッド
伊藤賢治

gentle echo / Harmonics Music 2013-04-28
売り上げランキング : 41010

Amazonで詳しく見る
by G-Tools

Nexus7 (2013) BeanStalk ROM 4.4.4065 2014/09/25

Update.

久しく更新がなかった BeanStalk ですが、作者さんが更新してくれたのでビルドしてみました!
実は私のメイン ROM なんですよねー。

2014 9/27 追記
ダイヤラーなおしたので更新しました。ついでに若干新しくなっています。

Fetures.

Unofficial BeanStalk ROM for Nexus7 2013 LTE (deb).

  • Update upstream sources.
    • Version 4.4.4065
  • Use caf hardware repos.
    • display-caf / media-caf
    • Enable hardware decode on some movies. (Japanese MPEG2-TS files, Interlaced H.264/AVC, WMV, VC-1)
  • Based on ElementalX-cm kernel
    • F2fs support.
    • CIFS fixes.
    • Some more tweaks.
      • See /init.flo.rc & /system/etc/init.d/99kernel
  • Default NLS=utf8.
  • Build with linaro toolchain 4.8.
    • Kernel build with linaro toolchain 4.9.
  • Fix Puzzle & Dragons patch download loop. (Bionic patch)


Github

Update.

  • Update BeanStalk version 4.4.4065.

Fixes

  • Camera record (movie) is now working.

Issues

  • Dialer app is not working.
    • Fixed 2014/9/27.

Nexus7 (2013) Mahdi ROM 2.7.1 2014/07/19

Mahdi ROM を deb 用にビルドしてみました。

Fetures.

Unofficial Mahdi ROM for Nexus7 2013 LTE (deb).

  • Use caf hardware repos.
    • display-caf / media-caf
    • Enable hardware decode on some movies. (Japanese MPEG2-TS files, Interlaced H.264/AVC, WMV)
  • Based on ElementalX-cm kernel
    • CIFS fixes.
    • Some more tweaks.
      • See /system/etc/init.d/99kernel
  • Default NLS=utf8.


動画の再生能力向上のため、いつもの CAF ビルドにしてみました。しかしなかなかうまく動かなくて…まともに動くものが出来上がるまで 2 週間位かかりましたw

私の場合内部ストレージが f2fs フォーマットですので、 ROM.zip + F2FS.img でテストしています。 ROM.zip 単体は標準の EXT4 フォーマット用ですが、単体でのテストは行っておりませんので、あしからず。

一応こんなところは確認できています。

  • Mobile network (LTE)
  • Wi-Fi
  • Camera
    • Photo is OK.
    • Movie is not ...
  • CIFS mount
  • Wi-Fi tether
  • WMV/VC1 hardware playback
    • MX Video Player HW+ decode mode
  • Internal SD
  • External SD (NTFS formatted)


テストしてみたい方はどうぞ。
ただし ROM.zip 単体は ro.secure や ro.debuggable の都合上一部ゲームは動かないはずです。

Issues

  • Camera record (movie) is not working.

不具合を見つけたら

こちらのコメントか Twitter巨大掲示板へ。

Nexus7 (2013) BeanStalk ROM 4.4.278 2014/04/13

Update.

カーネルを ElementalX にしてみました。また、デフォルトで f2fs を使います。 f2fs 対応 TWRP を使って下さい。

なお ext4 からのフォーマットの場合、 /data だけでなく /sdcard も含めすべてのデータを失います。バックアップはしっかり行って下さい。

Fetures.

Unofficial BeanStalk ROM for Nexus7 2013 LTE (deb).

  • Use caf hardware repos.
    • display-caf / media-caf
    • Enable hardware decode on some movies. (Japanese MPEG2-TS files, Interlaced H.264/AVC, WMV)
  • Based on ElementalX-cm kernel
    • F2fs support. /data shoud be f2fs formated. (Use f2fs support TWRP)
    • CIFS fixes.
    • Some more tweaks.
      • See /init.flo.rc
  • Default NLS=utf8.
  • Build with linaro toolchain 4.8.
    • Kernel build with linaro toolchain 4.7.


Github

Update.

Issues

  • Camera is buggy in third party apps?
  • Camera record (movie) is not working.

Nexus7 (2013) BeanStalk ROM 4.4.270 2014/03/19

Update.

Fetures.

Unofficial BeanStalk ROM for Nexus7 2013 LTE (deb).


Github

Update.

Issues

  • Camera is buggy in third party apps.
  • Camera record (movie) is not working.

Downloads

ROM
BeanStalk-4.4.270-20140319-deb.zip
F2fs version boot.img (modified fstab).
boot_deb_f2fs_20140319.img