Как подписать 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