Nexus 5で実行可能なCyanogenMod 13をコンパイルする.0 ROM(Android 6.0ベース)


Nexus 5で実行可能なCyanogenMod 13をコンパイルする.0 ROM
(Android 6.0ベース)
作者:寻禹@阿里聚安全
前言
以下に特に説明がない場合、CMはCyanogenModの略を表す.
以下に述べる「デバイス」とは、Androidデバイスを指す.
proprietary-blobs.txtファイルのパス:device/lge/hammerhead/proprietary-blobs.txt参考資料
How To Build CyanogenMod For Google Nexus 5(「hammerhead」)本明細書には、上記の参考資料とは異なる点のみが記載されているので、上記の参考資料と本明細書を組み合わせて読む必要があります.
CM 13をダウンロードする.0 ROM
repo init -u git://github.com/CyanogenMod/android.git -b cm-13.0
注意事項
ROMを構築する前に、デバイスに対応するROMをインストールする必要があります.
参考資料にこんな話がある.Note:Your device should already be running a build of CyanogenMod for the branch you wish to build for the extract-files.sh script to function properly.
Nexus 5デバイスのcm 13を構築する場合は0のrom、Nexus 5デバイスにcm 13をインストールする必要があります.0のrom.
extract-filesをよくチェックしてください.sh端末での出力
extract-filesをよくチェックしてください.sh端末での出力は、実行中にエラーが発生した情報が含まれている可能性があるため、エラー情報があればエラーを修復し、エラーを修復する考え方は「問題解決」の項を参照してください.
問題解決
adb apkファイルの引き出しに失敗しました
実行./extract-files.shスクリプトの場合、次のエラーが発生する可能性があります.
ERROR: Pull file/system/app/shutdownlistener.apk from a device running CyanogenMod
ERROR: Pull file/system/app/TimeService.apk from a device running CyanogenMod
これは、指定されたapkファイルパスが間違っているため、デバイスから引き抜くファイルリストが"proprietary-blobs.txt”に記録される.
解決策“proprietary-blobs.txt”ファイルの次の2行が見つかりました.
-/system/app/shutdownlistener.apk
-/system/app/TimeService.apk
次のように変更します.
-/system/app/shutdownlistener/shutdownlistener.apk
-/system/app/TimeService/TimeService.apk
adb/system/binの下のファイルの引き出しに失敗しました
実行./extract-files.shスクリプトの場合、次のエラーが発生する可能性があります.
remote object'/system/bin/bridgemgrd'does not existというファイルはデバイス上に存在します.このファイルのデバイスに対する権限は、次のとおりです.
-rwxr-xr-x 1 root shell 46900 2008-12-31 21:00 bridgemgrd
otherユーザはこのファイルを読み取ることができることがわかりますが、不思議なことにadb pullコマンドで引き抜くことができません.
解決策
1、CM ROMではROOTアクセスをオンにすることができますが、このとき私のCM ROMのデバイスに表示される言語は英語なので、英語で話します.デバイス上の「Developer options」(開発者オプション)を開き、「Root access」を見つけてクリックし、「Apps and ADB」をクリックすると、設定が完了するとappもadbもroot権限を申請できます.
2、pcの端末にコマンド:adb rootを入力し、デバイス上でroot権限でadbdを再起動することを示す.
その後、再びadb pullがデバイス/system/binディレクトリのファイルを引き抜くことに成功する.
/system/prev-appのapkが見つかりません
実行./extract-files.shスクリプトの場合、次のエラーが発生する可能性があります.
ERROR: Pull file/system/priv-app/OmaDmclient/OmaDmclient.apk from a device running CyanogenMod
ERROR: Pull file/system/priv-app/SprintHiddenMenu/SprintHiddenMenu.apk from a device running CyanogenMod
解決策“proprietary-blobs.txt”ファイルの次の2行が見つかりました.
-/system/priv-app/OmaDmclient/OmaDmclient.apk
-/system/priv-app/SprintHiddenMenu/SprintHiddenMenu.apk
次のように変更します.
-/system/app/OmaDmclient/OmaDmclient.apk
-/system/app/SprintHiddenMenu/SprintHiddenMenu.apk
この問題に遭遇した場合、「proprietary-blobs.txt」ファイルの内容だけを変更するだけでは不十分です.“device/lge/hammerhead/setup-makefiles.sh”ファイルが見つかり、そのファイルの対応する「priv-app」を「app」に変更しました.“vendor/lge/hammerhead/proprietary/Android.mk”ファイルが見つかり、そのファイルの対応する「priv-app」を「app」に変更しました.
作者:寻禹@阿里聚安全,更多技术文章,请访问阿里聚安全博客