ionic-v3 和 cordova 6.3.0 的警告 Android API 级别 28

Warning Android API level 28 with ionic-v3 and cordova 6.3.0

我曾经在 google play 上发布一个离子应用程序,但今天早上我收到以下警告:"Your application targets now level API 26. Nevertheless, it should now target level API 28 ..."

我正在使用 Cordova 6.3.0,如何使用它来定位 API 28?

这是我的离子信息:

Ionic:

   ionic (Ionic CLI)  : 4.12.0 (/usr/local/lib/node_modules/ionic)
   Ionic Framework    : ionic-angular 3.9.2
   @ionic/app-scripts : 3.2.4

Cordova:

   cordova (Cordova CLI) : 9.0.0 (cordova-lib@9.0.1)
   Cordova Platforms     : android 6.3.0, ios 5.0.1
   Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 1.2.1, (and 14 other plugins)

System:

   NodeJS : v10.16.0 (/usr/local/bin/node)
   npm    : 6.9.0
   OS     : macOS Mojave
   Xcode  : Xcode 10.2.1 Build version

像之前一样在本地构建我的应用程序时没有错误消息,警告仅在 google 播放平台上。

以下是我常用的命令行:

npm i
cordova platform rm android
ionic cordova platform add android@6.3.0 --save-exact

ionic cordova build android --prod --release

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore somekeystorye.keystore /Users/user/Documents/dev/app/platforms/android/build/outputs/apk/android-release-unsigned.apk Name

~/Library/Android/sdk/build-tools/29.0.1/zipalign -v 4 /Users/user/Documents/dev/app/platforms/android/build/outputs/apk/android-release-unsigned.apk /Users/user/Documents/dev/app/platforms/android/build/outputs/apk/android-release-0.0.20.apk

有什么想法吗?

编辑 似乎是:

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

做这里提到的工作:Can cordova android@6.2.3 target SDK 26? 我现在没有警告。

会尝试查看并稍后回来与您保持联系

花了一些时间解决这个错误后,我找到了这三个解决方案。

解决方案 1

ionic cordova platform rm android

ionic cordova platform add android@8.1

解决方案 2

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

解决方案 3(如果上述解决方案不起作用则仅)

  1. 按照这一步
    1. 将您的 SDK 从 android 工作室更新到 api 级别 28。
    2. 使用 "ionic start" 创建新项目。
    3. 将您的旧代码复制粘贴到这个新创建的项目中,然后安装所有插件,就完成了!

这对我有帮助:

在文件中: paltforms/android/app/src/main/androidmanifest.xml

更改 'android:targetSdkVersion' 值:

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

https://forum.ionicframework.com/t/android-compatibility-api-level-cordova-or-ionic/8194/14

对我来说最终起作用的就是这个:

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

直接改uses-sdk不是正确答案,至少不够也不是很好的答案...

你最好将 cordova android engine 更新到最新版本。它的默认目标sdk版本已经是28。 (参见 https://github.com/apache/cordova-android/issues/791 )。只有在 config.xml 中更改它才返回一堆很少见的错误。

https://cordova.apache.org/docs/en/latest/config_ref/#engine

更新 Cordova,然后重新构建。

npm i -g cordova
ionic cordova build --release android --prod