Ответ 1
Я не уверен, что вы сделали, чтобы подписать ваше приложение, но вот что сработало для меня:
Обновление (4/14/14)
На самом деле существует простой способ сделать это все в одной команде, как только вы настроите правильную конфигурацию, как описано в этом ответе SO: Автоматизация для выпуска Android Я также написал сообщение в блоге об этом здесь: http://www.adamwadeharris.com/android-automation/
Убедитесь, что ваше приложение прошло успешно
Убедитесь, что вы установили свой номер версии в AndroidManifest.xml. Google Play не примет его, если он не отличается от предыдущих версий в магазине. versionCode представляет собой целочисленное значение, поэтому просто увеличивайте его на 1 каждый раз, когда вы отправляете независимо от того, будет ли это основное или небольшое обновление. versionName не используется ни для чего, кроме отображения для пользователей и его строки, чтобы вы могли назвать ее, как хотите. Например, вы можете установить его в 1.0.3, в то время как versionCode может быть 3. (http://developer.android.com/tools/publishing/versioning.html#appversioning)
http://schemas.android.com/apk/res/android" >
Создать файл хранилища ключей
Создайте файл хранилища ключей и установите пароль. Я не буду вдаваться в подробности о том, как это сделать на самом деле. Просто убедитесь, что вы не потеряете этот файл. Если вы потеряете его, и вам нужно создать новый, он станет новым приложением, когда вы попытаетесь добавить его в Google Play Store. (http://developer.android.com/tools/publishing/app-signing.html#cert)
Всегда используйте другой файл хранилища ключей для каждого приложения, потому что его секретный ключ для загрузки приложений в магазин. Если вы когда-нибудь решите перенести свое приложение на другого разработчика, вам придется предоставить файл хранилища ключей, и если вы также используете это хранилище ключей для других приложений, у вас возникнет проблема с безопасностью. (http://developer.android.com/tools/publishing/app-signing.html#secure-key)
Поместите файл хранилища ключей где-нибудь на вашем компьютере. Это не имеет никакого значения, где.
Сообщите ant, где ваш файл хранилища ключей для этого приложения
Тогда вам просто нужно сообщить ant, где файл хранилища ключей находится в вашей папке проекта Android (для phonegap его в платформах /android ) и создать файл ant.properties и поместить в него следующее:
key.store=/Users/username/Documents/path/to/my-release-key.keystore
key.alias=app_name
Где key.store равен пути к файлу хранилища ключей, начинающемуся с C Drive, а key.alias - это то, что вы хотите назвать коротким. Вы используете псевдоним в следующих командах.
Создайте приложение
Откройте командную строку и перейдите к проекту и запустите сборку телефонных звонков.
phonegap build android
в платформах /android/bin вы должны иметь:
AppName.ap_
AppName.ap_.d
AppName-debug.apk
AppName-debug-unaligned.apk
AppName-debug-unaligned.apk.d
Войдите в режим выпуска
Затем перейдите в каталог android и запустите ant release:
cd platforms/android
ant release
Он запросит у вас пароль к хранилищу ключей и пароль для псевдонима 'app_name. Введите пароль к хранилищу ключей для них.
В платформах /android/bin вы также должны иметь версии релизов приложения:
AppName-release.apk
AppName-release-unaligned.apk
AppName-release-unsigned.apk
AppName-release-unsigned.apk.d
Теперь перейдите в каталог bin:
cd bin
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore /Users/username/Documents/path/to/my-release-key.keystore AppName-release-unsigned.apk app_name
Обновление -. В соответствии с приведенным ниже замечанием вы не получите предупреждение на следующем шаге, если вы используете -sigalg SHA1withDSA -digestalg SHA1 вместо SHA1withRSA
Введите пароль к хранилищу ключей
jarsigner -verify -verbose -certs AppName-release-unsigned.apk
Если вы получите такое предупреждение, игнорируйте его: Предупреждение: в этой банке содержатся записи, цепочка сертификатов которых не проверена.
zipalign -v 4 AppName-release-unsigned.apk AppName.apk
он скажет: Успешное подтверждение
И ваш последний apk (AppName.apk) будет создан в каталоге bin.
(http://developer.android.com/tools/publishing/app-signing.html#releasemode)
Затем вы можете загрузить в Google Play.
Надеюсь, это поможет. Дайте мне знать, если у вас есть вопросы.
http://www.adamwadeharris.com/sign-publish-phonegap-app-google-play-store-windows/