Ответ 1
Наконец, мне удалось найти способ подписать мое приложение с сигнатурой платформы. Вам нужно использовать ключи, расположенные в <root-of-android-source-tree>/build/target/product/security/
, и добавить android:sharedUserId="android.uid.system"
в ваш файл AndroidManifest.xml.
Детали из этот поток групп google:
В дополнение к подписанию Android 1.6 для Dream с сертификатами, созданными сам, мне также удалось подписать мое приложение с сертификатом платформы и запустить его с помощью системы sharedUserId. Это шаги, которые я предпринял:
- Создайте флеш-память для своего собственного Android с помощью http://source.android.com/documentation/building-for-dream. Использовать mkkey.sh script on http://pdk.android.com/online-pdk/guide/release_keys.html, чтобы создать новые сертификаты, включая сертификаты x509, прежде чем вы выполните "make".
- В
AndroidManifest.xml
вашего приложения: под элементом<manifest>
добавьте атрибутandroid:sharedUserId="android.uid.system"
.- Экспорт неподписанной версии вашего приложения для Android с помощью Eclipse: щелкните правой кнопкой мыши по проекту → Инструменты Android → Экспорт Неподписанный пакет приложений.
Используйте
<root-of-android-source-tree>/out/host/<your-host>/framework/signapk.jar
для подписывания своего приложения с помощьюplatform.x509.pem
иplatform.pk8
в<root-of-android-source-tree>/build/target/product/security
сгенерировано ранее:java -jar signapk.jar platform.x509.pem platform.pk8 YourApp-unsigned.apk YourApp-signed.apk.
Установите приложение на свое устройство:
adb install YourApp-signed.apk
- Запустите приложение
- Используйте
adb shell ps
, чтобы подтвердить, что приложение работает как система.