【问题标题】:Can cordova android@6.2.3 target SDK 26?cordova android@6.2.3 可以针对 SDK 26 吗?
【发布时间】:2019-01-25 12:13:48
【问题描述】:

我的应用目前正在运行 cordova-android@6.2.3。我收到来自 Google 的通知,说我的应用当前面向 SDK 25,并且我需要面向 SDK 26。

来自谷歌:

From August 2018, new apps must target at least Android 8.0 (API level 26).
From November 2018, app updates must target Android 8.0 (API level 26).

我有几个月的时间让应用更新继续工作,但我很快就会在这里碰壁。我可以简单地添加targetSdkVersion 26 并期望我的应用程序正常工作吗?

<preference name="android-targetSdkVersion" value="26">

或者 SDK 26 是否需要最小的 cordova-android 基础,例如 @6.3.x 或 @7.0.1 或 ???通过 Android Studio SDK Manager,我安装了 SDK 26、27 和 28 的一部分。我目前将 minSdkVersion 设置为 19。

我只是害怕强制更新 - 在主要的 cordova-android@ 更新/升级之后,很多插件都失败了。在我可以将我的应用程序正确移植到所有最新最好的插件之前(这是一个非常痛苦且通常很漫长的过程),我试图避免对我当前的应用程序版本执行任何操作。我正在构建这个全新的环境,但在进行大规模转换时,我仍然需要对我的产品应用程序进行更改。

我的环境:

Your system information:

Cordova CLI: 7.0.1
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic Version: 1.3.4
Ionic CLI Version: 1.7.14
Ionic App Lib Version: 0.7.0
OS: Windows 7 SP1
Node Version: v6.10.3

【问题讨论】:

    标签: android cordova android-studio target-sdk


    【解决方案1】:

    您可以强制执行此操作,但是当您更改目标 SDK 版本时,代码的工作方式与以前不同,因此您的应用可能会中断。还需要更新一些插件才能与 SDK 26 一起正常工作。

    当发布新的 Cordova 版本时,它不仅会影响 SDK 版本,还会更改所需的代码以确保其继续工作。

    所以试一试,看看是否一切正常,如果它不能通过更新不起作用的部分开始。

    【讨论】:

    • 看来你是对的。我复制到一个新的项目目录并开始更新,现在一切都坏了。我将不得不通过插件逐步检查安装插件,看看现在有什么问题。 android@6.3 是否需要最低的cordova-cli@version?我正在运行 v7.0.1
    • 据说新平台仍然兼容旧的 cli 版本,但不能保证。顺便说一句,cordova-android s 6.4.0 的最新 6.x.x,而不是 6.3.0。另外,第一个正式兼容 SDK 26 的是 7.0.0,但是如果你要去 7.x.x 最好去最新的(7.1.1)
    • 再次感谢。今天我花了一整天的时间重新安装我的应用程序的所有各种组件并且遇到了不止一些头痛 - 但我现在可能直接进入 7.1.1。打算再测试一些东西并做出决定。
    • 有谁知道支持cordova-android 6.4和7.1.1的最低cordova基本版本是多少?
    • Cordova-android 6.4.0 的推荐 cli 7.1.0 和 Cordova-android 7.1.1 的 8.0.0
    【解决方案2】:

    更改 targetSdkVersion 首选项应该有效。不过,您将需要相应的 SDK 构建工具。(SDK 26 为 26.x.x)。你也可能想关闭 XML。

     <preference name="android-targetSdkVersion" value="26" />
    

    【讨论】:

    • 够了吗?我们不需要升级cordova-android版本吗?
    • 这取决于您的插件堆栈。如果您有一个旧项目并且您有旧的插件集,并且 API 可能不会中断,请使用 targetSdkVersion。一些更新,如 Lollipop --> Marshmallow 进行了重大更改,其中包括更新的权限模型。在这种情况下,您必须更新 cordova-android 和您的插件堆栈。如果您的插件在较新的 cordova-android 版本(如地理围栏)上无法正常运行,这将变得更加棘手。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多