Я пытаюсь сделать работу с системным приложением. Вот что у меня есть:Создание 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
Может кто-нибудь показать мне, как я могу сделать приложение работает ? Я не уверен, похоже, мне нужно перестроить приложение с надлежащими сертификатами, чтобы он мог получить доступ ко всем аппаратным ресурсам.
Спасибо.