Установите apk вручную на устройство: ошибка 103

Я пытаюсь установить apk (build by IntelliJ) вручную на моем телефоне (GT-B5330 под управлением Android 4.0.4).

  • Intellij генерирует MyApp.apk(используя Build > Artifact > Rebuild...)
  • Настройки телефона: Безопасность > Администрирование устройств > Неизвестные источники отмечены
  • Я удаляю существующую "отладочную" версию MyApp на телефоне
  • Я подключаю свой телефон к компьютеру с помощью USB-кабеля и переношу MyApp.apk на SD-карту телефона.
  • В телефоне я просматриваю SD-карту и нажимаю MyApp.apk
  • Я вижу разрешения, требуемые MyApp, и пытаюсь установить его.
  • Получаю сообщение "Приложение не установлено"

Посмотрев на logcat, я нашел те журналы:

01-25 10:55:15.668: INFO/ApplicationPolicy(1448): isApplicationInstallationEnabled
01-25 10:55:15.668: WARN/PackageManager(1448): verifying app can be installed or not
01-25 10:55:15.748: INFO/SurfaceFlinger(1216): id=3872 Removed idx=3 Map Size=4
01-25 10:55:15.748: INFO/SurfaceFlinger(1216): id=3872 Removed idx=-2 Map Size=4
01-25 10:55:16.148: DEBUG/dalvikvm(1448): GC_EXPLICIT freed 744K, 34% free 13115K/19655K, paused 5ms+11ms
01-25 10:55:16.148: DEBUG/InstallAppProgress(22326): Installation error code: -103

Я попытался найти значение этого кода ошибки -103, но ничего не нашел.

Мне интересно, что может быть неправильным и как я могу исправить/исследовать проблему?

Обратите внимание, что:

  • когда я запускаю из своей среды IDE: он установлен и работает правильно.
  • некоторые собственные библиотеки упакованы в MyApp.apk

Я пропустил что-то очевидное? Другие настройки безопасности для изменения?

Любая помощь будет очень благодарна.

Ответ 1

При запуске из IDE apk подписывается с помощью отладочного ключа.

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

Вот скриншот, показывающий, как подписать apk с IDEA12

enter image description here

Ответ 2

Вы уже установили это приложение на своем устройстве? Потому что, возможно, вы пытаетесь установить приложение уже существует, подписанное другим ключом.