Класс не найден: PackageParser при использовании PackageInstaller из git - PullRequest
2 голосов
/ 15 июня 2011

Это очень точный вопрос о проекте с открытым исходным кодом установщика пакета, размещенном в проекте кода Google: http://android.amberfog.com/?p=98

Когда я пытаюсь его скомпилировать, я получаю исключение ClassNotFoundException для этого класса: android.content.pm.PackageParser.

Я не совсем понимаю, что происходит, поскольку этот класс является частью Android SDK, но не документирован в документации Android.

Кто-то использовал этот пакет раньше и знает, как его скомпилировать

Ответы [ 2 ]

3 голосов
/ 31 августа 2011

ОБНОВЛЕНО

Вы пытаетесь скомпилировать приложение PackageInstaller, которое представляет собой приложение, которое Google поставляет как часть системы Android, и которое использует некоторый API, скрытый от публичного доступа.SDK (например, android.content.pm.PackageParser).Есть несколько методов для доступа к этому скрытому API, но даже если вы смогли скомпилировать PackageInstaller, он не запустится, потому что ему требуется несколько разрешений (например, android.permission.INSTALL_PACKAGES), которые могут быть предоставлены приложению только тогда, когда оно подписано Системой.сертификат.И только производитель устройства может сделать это.

Но позвольте мне спросить вас, зачем вам нужно компилировать приложение PackageInstaller?Автор статьи на http://android.amberfog.com/?p=98 показывает, как установить / удалить .apk , отправив Intent в приложение Google PackageInstaller.Вам не нужно перекомпилировать PackageInstaller, чтобы сделать это.

0 голосов
/ 28 августа 2011

Полагаю, вам нужно вытащить весь код Android из репозитория и скомпилировать его. Вы можете попробовать скачать только тот класс, который вам нужен, и все его зависимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...