Как подписать Android-приложение системной подписью?

Я скачал и скомпилировал версию Android 2.1 с signed-google_ion-ota-14721.zip изображение для моего телефона HTC. Компиляция завершена успешно и образ системы мигает. Как я могу подписать свое собственное Android-приложение системной подписью?

Может кто-нибудь описать весь процесс подписания пользовательского приложения системной подписью, поскольку я совершенно новичок в процессе подписания.

2 ответа

Решение

Наконец мне удалось найти способ подписать свое приложение подписью платформы. Вам нужно использовать ключи, расположенные в <root-of-android-source-tree>/build/target/product/security/ и добавить android:sharedUserId="android.uid.system" в вашем файле AndroidManifest.xml.

Подробности из этой ветки групп Google:

В дополнение к подписанию Android 1.6 для Dream с сертификатами, сгенерированными мной, мне также удалось подписать свое приложение с помощью сертификата платформы и запустить его с помощью системы sharedUserId. Вот шаги, которые я предпринял:

  • Создайте и установите на свой Dream свой собственный Android, используя https://web.archive.org/web/20081211205758/http://source.android.com:80/documentation/building-for-dream. Используйте сценарий mkkey.sh по https://web.archive.org/web/20091213215940/http://pdk.android.com/online-pdk/guide/release_keys.html для создания новых сертификатов, включая сертификаты x509 перед вами. сделать "сделать".
  • в 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 чтобы убедиться, что ваше приложение работает как система.

Процедура работает нормально, я попробовал. До тех пор, пока вы не забудете запустить zipalign после подписи, так как в процессе подписи APK не выровнен, и он НЕ будет установлен. Вам нужно будет установить выровненный APK.

zipalign -fv 4 YourApplication-signed.apk YourApplication-aligned.apk
Другие вопросы по тегам