0

Я пытаюсь сделать работу с системным приложением. Вот что у меня есть:Создание Android APK с тем же сертификатом, что и система

Платформа OEM OMAP с полным исходным кодом 4.4.2. Я построил систему и загрузил ее на свою платформу с помощью Ubuntu 14.04. Это все работает.

Теперь есть приложение от OEM, которое напрямую обращается к аппаратным средствам (DSP, I2C, UART) и т. Д. Оригинальный APK, который пришел от OEM, работает на моей платформе.

Я создал то же самое приложение, используя команду make (не используя Eclipse); Он строит, и я могу установить его на платформу. Но когда я пытаюсь запустить приложение, он застрял в состоянии вечного ожидания.

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

Я читал статьи по всему миру и, похоже, что-то связано с подписью и сертификатом приложения. Я думаю, что общая идея заключается в том, что приложение должно быть подписано с тем же сертификатом с самой системой. Я думал, так как я построил приложение и систему на одной машине, используя те же команды, у них будет один и тот же сертификат.

Если это поможет, то файл манифеста имеет следующую строку:

android:sharedUserId="android.uid.system" 

И проект сделать файл Android.mk имеет следующую строку:

LOCAL_CERTIFICATE := platform 

Может кто-нибудь показать мне, как я могу сделать приложение работает ? Я не уверен, похоже, мне нужно перестроить приложение с надлежащими сертификатами, чтобы он мог получить доступ ко всем аппаратным ресурсам.

Спасибо.

ответ

0

Проверить signing system apk.

Необязательно:

Вам нужно создать файл хранилища ключей с помощью Keytool-importkeypair, которые вы можете найти here.

Перейдите в каталог: build/target/product/security/ в исходном дереве вашей платформы (исходные коды, связанные с версией и поставщиком Android).

Вы найдете platform.pk8 и platform.x509.pem файлы.

Создать файл хранилищу, используя этот пример команду:

keytool-importkeypair -k ~/.android/debug.keystore -p android -pk8 platform.pk8 -cert platform.x509.pem -alias platform 

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

Смежные вопросы