私はAOSPで遊んで、そしてOTAパッケージRecoverySystem.installPackageのjava.lang.NullPointerException
1)を適用しようとしています。 Google Pixel用AOSPを作成してインストールしました。
2)。私はOTAパッケージをダウンロードし、簡単なアプリケーションを作成し、それを を適用しようとしている(これは、この記事に基づいています:http://jhshi.me/2013/12/13/how-to-apply-downloaded-ota-package/index.html)
私は RecoverySystem.installPackage(getContext(), file);
を呼んでいる、そしてそれは私に
java.lang.NullPointerException: Attempt to invoke interface method 'boolean android.os.IRecoverySystem.setupBcb(java.lang.String)' on a null object reference
at android.os.RecoverySystem.setupBcb(RecoverySystem.java:895)
at android.os.RecoverySystem.installPackage(RecoverySystem.java:496)
at android.os.RecoverySystem.installPackage(RecoverySystem.java:421)
缶だれでもポイントを獲得します私はそれを修正する方法を教えてください?最初に
RecoverySystem rs = (RecoverySystem) context.getSystemService(
Context.RECOVERY_SERVICE);
if (!rs.setupBcb(command)) {
throw new IOException("Setup BCB failed");
}
....
/**
* Talks to RecoverySystemService via Binder to set up the BCB.
*/
private boolean setupBcb(String command) {
try {
return mService.setupBcb(command);
} catch (RemoteException unused) {
}
return false;
}
:
同じことに気付いていますが、解決策を見つけましたか? – Alex
@Alex、はい、しかし、私はそれをどのように解決したのか忘れています。私が覚えているように、権限に問題がありました。あなたは許可を与えなければなりません: ' ' ' ' 最後のもの私は –
Alexander
のBTWを覚えているので、この便利な例を確認することができます:https://github.com/CopperheadOS/platform_packages_apps_Updater これはCopperheadOSの内部アップデータの実装です – Alexander