Опубликованный Android apk дает ошибку "Файл пакета не был подписан правильно"

Недавно я загрузил свое приложение на рынок Android, однако он отказался запускать при загрузке из-за ошибки

Файл пакета не был подписан правильно

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

Затем я загрузил keytool и jarsigner и использовал их, чтобы подписать обновление, которое я разместил вместо этого. Однако это дает ту же ошибку.

Я понятия не имею, что я сделал не так, и поскольку я не могу удалить приложение, которое я не могу попробовать и начать снова, может кто-нибудь мне помочь?

Спасибо

Ответ 1

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

Удалите приложение полностью с вашего устройства. Затем снова загрузите его с рынка и он должен работать.

Ответ 2

OK У меня была такая же проблема, и ни одна из предложенных резолюций не работала для меня. Я подписывал свое приложение так же, как и в течение двух лет, и Android Market одобрял его, просто пользователи не могли загрузить его с рынка с ошибкой "Не зарегистрированный пакет".

Как оказалось, для другого проекта, над которым я работаю, я установил JDK7. Он стал JDK по умолчанию, и по какой-то причине keytool для JDK7 подписывает пакет таким образом, который Android не должен нравиться. Поэтому я вернулся к JDK 1.6.0_23 и снова запустил мою сборку и поместил ее на рынок, и все стало нормальным.

Я надеюсь, что это поможет кому-то другому.

Ответ 3

На планшете обратите внимание, что если вы установите отладочную версию приложения и затем удалите его как обычно (перетаскивание в корзину, пока не будет указано "удалить" ), этого недостаточно. Поскольку планшеты имеют потенциал для нескольких пользователей, вам нужно перейти на

 Settings > Apps > All

а затем прокрутите весь путь до самого нижнего. Там вы увидите свое приложение. Нажмите его, а затем нажмите Menu в панели действий (три точки), а затем uninstall for all users. Тогда вам будет хорошо.

Ответ 4

Проблема при подписании APK с JDK7. Вы можете решить это, добавив это в build.xml

<presetdef name="signjar">
    <signjar sigalg="MD5withRSA" digestalg="SHA1" />
</presetdef>

Источник: Блог разработчиков KIYUT

Ответ 5

Недавно я подписал свои апки из командной строки и получил эту ошибку. Я решил эту ошибку с помощью инструкций по этой ссылке:

http://developer.android.com/tools/publishing/app-signing.html

$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application.apk alias_name

Ответ 6

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

Ответ 7

У меня была такая же проблема с моим разработанным приложением.

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

https://market.android.com/details?id=net.trackmelite.GoogleMaps&feature=search_result

Ответ 8

Я новичок в Android, но я смог решить проблему магически: D
Я использовал Java 1.7 с моим приложением и использовал утилиты командной строки [keytool, jarsinger и zipalign] для подписания моего приложения и получил ту же ошибку.
Затем я вернулся в Eclipse и использовал инструмент Android "Экспорт подписанного пакета приложений" с тем же хранилищем ключей, с которого я изначально опубликовал свое приложение; взял APK и использовал командную строку для zipalign. [Пришлось увеличивать код версии в манифесте btw]. Я не опубликовал старый APK и опубликовал этот новый. Как только вы это сделаете, не проверяйте его немедленно. Не уверен, сколько времени вам придется ждать, но моя работала через 4 часа, когда я проверил:)