2017-01-27 15 views
0

Несмотря на то, что разработка ionic 2 была построена, я тестировал ее на канале BETA в Google Play, и все идет хорошо, сегодня я обновляюсь до ионного 2 финала и передал его на ионный пакет, чтобы построить APK для меня ...Google Play APK не деактивирует - Ionic 2

ionic package build android --profile android --release 

Я так загрузил его в Google Play, и я получаю ...

A device with API levels in range 17+ is eligible to receive version 76, which is optimised for higher API levels, but actually receives version 3000328 because it has a higher version code. This would occur when Release track containing any of [BETA] and Screen layouts containing any of [small, normal, large, xlarge] and Native platforms containing any of [arm64-v8a, armeabi, armeabi-v7a, x86, x86_64] and Features containing all of [android.hardware.FAKETOUCH, android.hardware.LOCATION, android.hardware.location.GPS, android.hardware.location.NETWORK, android.hardware.screen.PORTRAIT]. 

A device upgrading from API levels = 16 to API levels in range 17+ would become eligible to receive version 76, which is optimised for higher API levels, but would actually receive version 3000328 because it has a higher version code. This would occur when Release track containing any of [BETA] and Screen layouts containing any of [small, normal, large, xlarge] and Native platforms containing any of [arm64-v8a, armeabi, armeabi-v7a, x86, x86_64] and Features containing all of [android.hardware.FAKETOUCH, android.hardware.LOCATION, android.hardware.location.GPS, android.hardware.location.NETWORK, android.hardware.screen.PORTRAIT]. 

A device with API levels in range 17+ is eligible to receive version 76, which is optimised for higher API levels, but actually receives version 3000258 because it has a higher version code. This would occur when Release track containing any of [BETA] and Screen layouts containing any of [small, normal, large, xlarge] and Features containing all of [android.hardware.FAKETOUCH, android.hardware.LOCATION, android.hardware.location.GPS, android.hardware.location.NETWORK, android.hardware.screen.PORTRAIT]. 

A device upgrading from API levels = 16 to API levels in range 17+ would become eligible to receive version 76, which is optimised for higher API levels, but would actually receive version 3000258 because it has a higher version code. This would occur when Release track containing any of [BETA] and Screen layouts containing any of [small, normal, large, xlarge] and Features containing all of [android.hardware.FAKETOUCH, android.hardware.LOCATION, android.hardware.location.GPS, android.hardware.location.NETWORK, android.hardware.screen.PORTRAIT]. 

Some devices are eligible to run multiple APKs. In such a scenario, the device will receive the APK with the higher version code. 

76 моя текущая версия производства от 20 авг 2015 (API-уровень 16+)

3000258 старый BETA с декабря (API Level 16+)

3000328 моя последняя бета строить с сегодня (уровень API 16+)

Я просто хочу, чтобы использовать 3000328, но Google Play не будет позвольте мне отключить 3000258, когда я делаю это говорит ...

It is forbidden to downgrade devices which previously used M permissions (target SDK 23 and above) to APKs which use old style permissions (target SDK 22 and below). This occurs in the change from version 3000258 (target SDK 23) to version 76 (target SDK 0). 

Любые идеи, почему я не могу отключить 3000258? Благодаря

ответ

1

Я вижу, что вы перечислили уровни API, которые были использованы (уровень API 16+), я предполагаю, что это minSdkVersion но важный атрибут для проверки, и установить в этом случае является targetSdkVersion.

Это проблема, вызванная новой системой разрешений Google/Androids от Android 6. По сути, если приложение было выпущено с targetSdkVersion из 23, есть newer method of permissions management, that is not backward compatible. Google не позволит вам понизить пользователей, которые в настоящее время используют более раннюю систему разрешений, часть sdkVersion 23+, в более низкую версию.


кажется, что ionic build --release выбирает самую высокую доступную версию SDK по умолчанию, который может быть причиной того, что вы представили версию в прошлом при более высокой версии SDK без явного указания его в config.xml. По какой-то причине ваши сборки используют меньшую версию sdk и приводят к ошибкам, которые вы видите.

Быстрое решение заключается в обеспечении соблюдения targetSdkVersion для SDK v23, чтобы гарантировать, что он пройдет процесс активации. Это, однако, означает, что только устройства Android 6+ могут загружать и использовать приложение.

Вы можете применять эту SDk версию config.xml в корневом каталоге вашего проекта Ионного путем добавления <preference name="android-targetSdkVersion" value="23" />

После повторного запуска процесса сборки, дважды проверьте андроид манифест, чтобы убедиться, что он правильно распространяется в this format:

<uses-sdk android:minSdkVersion="16" 
      android:targetSdkVersion="23" 
      android:maxSdkVersion="23" /> 

в противном случае все, что пользователь StackOverflow сообщил a potential workaround, что предполагает отключение бета-тестирование в целом.

+0

Сделал все это, и когда я загрузил его в Google Play, он говорит «Уровни API 14+ Target SDK 23'. Когда я пытаюсь опубликовать, я получаю _Эта конфигурация не может быть опубликована по следующим причинам: Запрещается переуступать устройства, которые ранее использовали M-разрешения (целевой SDK 23 и выше) для APK, которые используют разрешения старого стиля (целевой SDK 22 и ниже). Это происходит при изменении версии 3000258 (целевой SDK 23) до версии 76 (целевой SDK 0) ._ – CarlRyds

1

Проблема не о 3000258. Проблема с 76, возможно, в отношении целевой SDK-версии, поэтому вам нужно сосредоточиться на решении проблемы с SDK 76, а затем вы можете отключить 3000258.

Я написал это на всякий случай, если вы пытаетесь изменить версию SDK 3000258. Если вы уже пытались изменить SDK Target из 76, не против этого ответа.

+0

Версия 76 имеет «уровни API 17 +» и «Target SDK -'» – CarlRyds

+0

Обе ошибки говорят о том, что версия 76 имеет более низкие уровни API чем старые версии. Вы хорошо это проверили? – ReadyFreddy