クラスが見つかりません:gitのpackageinstallerを使用する場合のpackageparser
-
28-10-2019 - |
質問
これは、Googleコードプロジェクトでホストされているパッケージインストーラーオープンソースプロジェクトに関する非常に正確な質問です。 http://android.amberfog.com/?p=98
コンパイルしようとすると、 ClassNotFoundException
このクラスの例外:android.content.pm.PackageParser
.
このクラスはAndroid SDKの一部であるが、Androidドキュメントでは文書化されていないので、私は何が起こるのか本当にわかりません。
誰かがその前にそのパッケージを使用し、それをコンパイルする方法を知っていましたか?
解決
更新しました
GoogleがAndroidシステムの一部として出荷するアプリケーションであり、Public SDKから隠されているAPIを使用するPackageInstallerアプリケーションをコンパイルしようとしています( android.content.pm.PackageParser
)。その隠されたAPIにアクセスするために利用できる手法はほとんどありませんが、パッケージインストラーをコンパイルできたとしても、許可がほとんど必要ないため実行されません( android.permission.INSTALL_PACKAGES
)これは、システム証明書とともに署名された場合にのみ、申請に付与できます。そして、デバイスのベンダーのみがそれを行うことができます。
しかし、私にあなたに尋ねさせてください、なぜあなたはPackageInstallerアプリをコンパイルする必要があるのですか?の記事の著者 http://android.amberfog.com/?p=98 インストール/アンインストールの方法を示します .apk 送信して Intent
Google PackageInstallerアプリケーションへ。それを行うことができるようにパッケージインストラーを再コンパイルする必要はありません。
他のヒント
リポジトリからすべてのAndroidコードを引き出してコンパイルする必要があると思います。必要なクラスのみをダウンロードしてみてください。すべての依存関係をダウンロードできます。