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(如果上述解决方案不起作用则仅)
- 按照这一步
- 将您的 SDK 从 android 工作室更新到 api 级别 28。
- 使用 "ionic start" 创建新项目。
- 将您的旧代码复制粘贴到这个新创建的项目中,然后安装所有插件,就完成了!
这对我有帮助:
在文件中:
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
我曾经在 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(如果上述解决方案不起作用则仅)
- 按照这一步
- 将您的 SDK 从 android 工作室更新到 api 级别 28。
- 使用 "ionic start" 创建新项目。
- 将您的旧代码复制粘贴到这个新创建的项目中,然后安装所有插件,就完成了!
这对我有帮助:
在文件中: 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