Google Play APK不会停用 - Ionic 2

时间:2017-01-27 16:04:19

标签: android ionic-framework google-play apk

尽管离子2的开发正在构建我的应用程序并在Google Play的BETA频道中进行测试,一切都很顺利,今天我更新到离子2最终并将其传递给离子包以为我构建APK。 ..

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是我目前的生产版本,从2015年8月20日开始(API Level 16+)

3000258是来自Dec(API Level 16+)的旧BETA

3000328是我今天的最新BETA版本(API Level 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的任何想法?感谢

2 个答案:

答案 0 :(得分:1)

我看到你列出了所使用的API级别(API级别16+),我假设这是minSdkVersion但是要检查的重要属性,在这种情况下设置为 targetSdkVersion

这是Android / 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版本,并导致您看到的错误。

快速解决方案是强制执行SDK v23的targetSdkVersion以确保它将通过激活过程。但是,这意味着只有Android 6+设备可以下载并使用该应用。

您可以通过添加在Ionic项目的根目录中强制执行此sdk版本config.xml <preference name="android-targetSdkVersion" value="23" />

重新运行构建过程后,请仔细检查android清单,确保它在this format中正确传播:

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

如果失败,StackOverflow用户报告了a potential workaround,其中涉及完全禁用Beta测试。

答案 1 :(得分:1)

问题不在于3000258.有一个关于76的问题,可能是关于Target SDK版本的,所以你必须关注76,解决SDK Target问题然后你可以禁用3000258 i quess。

如果您尝试更改3000258 SDK版本,我会写这封信。如果您已经尝试更改SDK Target 76,请不要理解这个答案。