Z4TやZ5でXposedをインストールするとカメラが起動できない問題を修正する

この記事の賞味期限は切れています。掲載内容や情報が古い可能性があります。

問題が発生したため、カメラを終了します

Xperia Z5 E6653をtakahiro様から寄付という形でいただきました。
レビューやカーネルの紹介もしたいところですが、まずはZ5をroot化して使う上で一番困りそうな問題、
「Xposedをインストールするとカメラが起動しない」を
修正する方法を紹介したいと思います。

まず初めに、Z5は64bit (arm64) で5.1.1なので、Xposedは
xposed-v**-sdk22-arm64.zipを使ってください。
このページでダウンロードできます。

TWRPでインストールしてDalvik cacheを消去し、
最初の数回の起動で強制再起動がかかった後
アプリの最適化が始まります。
その後ようやくXposedモジュールを使えるようになる
のですが、このままではカメラが起動できません。

Xposedを使うにはodexの解析が必要なので、
おそらくそれが原因でodexが壊れてしまうのだと思います。
今回の場合、「問題が発生したため、[カメラ]を終了します」
と表示されてカメラが起動できない原因は
com.sonymobile.camera.addon.common.marketmode.MarketModeListLoaderInterface
ということだとログを見ると分かるため、
CameraCommonをdeodexして回避してしまいましょう。

deodexには、JoelDroid Lollipop Batch Deodexerを使います。
JoelDroid deodexer

今回はCameraCommonのdeodexをすればいいだけなので、
FTFや端末からframeworkフォルダ、priv-appフォルダ内の
CameraCommonフォルダをどこかにコピーしてください。
priv-appフォルダを作成して、CameraCommonフォルダを
その中に入れるようにしてください。

systemフォルダ

※画像のように何かのフォルダの中にframeworkフォルダ、
priv-appフォルダを配置してください。
このフォルダを後でBrowseで選びます。

CameraCommonフォルダコピーしたら、フォルダを開き、
armフォルダを削除してください。
本来は自動でarm64を選んでくれるのだと思いますが、
このままではarmのほうを使おうとしてエラーになります。

Browseでフォルダを選び、Start Processを押して
しばらくすると、deodexが完了します。

あとはdeodexされたCameraCommon.apkを
/systemに入れるだけです。
adbでするには
adb push CameraCommon.apk /data/local/tmp
adb shell
su
busybox mount -o remount,rw /system
dd if=/data/local/tmp/CameraCommon.apk of=/system/priv-app/CameraCommon/CameraCommon.apk
chmod 644 /system/priv-app/CameraCommon/CameraCommon.apk
rm -rf /system/priv-app/CameraCommon/arm
rm -rf /system/priv-app/CameraCommon/arm64
とするとできます。

カメラが起動できる

これでカメラが通常通り起動できるようになります。

[追記]カメラ 2.0.0であればdeodexしなくても起動できます。
ダウンロードはこちらからできます。

はてブ Pocket Mastodon タイトルとURLをコピー

当サイトで紹介するMODやアプリなどの内、システムファイルの改変やシステムに深く関わるものはroot化やリカバリが必須となります(root化の必要なしと明記している場合は除く)。導入はバックアップを取ってから自己責任で行ってください。また、技適の無い機器の使用は自己責任です。