如何让我的 ionic 应用程序以 API 级别 28 及以上为目标
Posted
技术标签:
【中文标题】如何让我的 ionic 应用程序以 API 级别 28 及以上为目标【英文标题】:How do i get my ionic app to target API level 28 and Above 【发布时间】:2019-12-11 04:08:50 【问题描述】:从今天开始,我一直在尝试上传我的 ionic 应用程序,发现谷歌更改了他们的应用程序规则,以 API 级别 28 及更高级别为目标,而我的目标为 27 以保留。
我得到的所有帮助都没有为我工作。在尝试 7 后,我已将我的 codova android 升级到 8.0.0,我在我的 config.xml 中添加了这一行“”,但它仍然没有工作。请帮忙
我的 config.xml
<widget id="xxx" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>xxx</name>
<description>xxx</description>
<author email="evensatowind@gmail.com" href="http://github.com/satowind">Sato Wind</author>
<content src="index.html" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<preference name="android-targetSdkVersion" value="28" />
<preference name="ScrollEnabled" value="false" />
<preference name="android-minSdkVersion" value="19" />
<preference name="BackupWebStorage" value="none" />
<preference name="SplashMaintainAspectRatio" value="true" />
<preference name="FadeSplashScreenDuration" value="500" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="3000" />
<engine name="android" spec="8.0.0" />
</widget>
我的 build.gradle
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
*/
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript
repositories
google()
jcenter()
dependencies
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.android.tools.build:gradle:3.3.0'
allprojects
repositories
google()
jcenter()
//This replaces project.properties w.r.t. build settings
project.ext
defaultBuildToolsVersion="28.0.3" //String
defaultMinSdkVersion=19 //Integer - Minimum requirement is Android 4.4
defaultTargetSdkVersion=28 //Integer - We ALWAYS target the latest by default
defaultCompileSdkVersion=28 //Integer - We ALWAYS compile with the latest by default
task clean(type: Delete)
delete rootProject.buildDir
我遇到的错误
Your app currently targets API level 27 and must target at least API level 28 to ensure it is built on the latest APIs optimized for security and performance. Change your app's target API level to at least 28
请提供适合您的解决方案。
【问题讨论】:
请检查我的答案并给我反馈 【参考方案1】:更改config.xml
中的值后
<preference name="android-targetSdkVersion" value="28" />
您需要删除android文件夹并重新创建它
ionic cordova platform remove android
ionic cordova platform add android
【讨论】:
【参考方案2】:适用于具有 ionic v5 的 API 级别 29。在 android 块中添加首选项。
<platform name="android">
<preference name="android-targetSdkVersion" value="29" />
/* Other code */
</platform>
然后删除android
ionic cordova platform remove android
然后再次添加 android(你需要 @latest)。
ionic cordova platform add android@latest
【讨论】:
@latest 正是我所缺少的。谢谢指点!【参考方案3】:将此添加到您的 config.xml
<preference name="android-targetSdkVersion" value="28" />
【讨论】:
我已经检查了配置在那里,就是你【参考方案4】:这对我有用
<preference name="android-build-tool" value="30.0.3" />
<preference name="android-targetSdkVersion" value="30" />
删除你的 package-lock.json 运行这些命令
ionic cordova platform remove android
ionic cordova platform add android
npm install
【讨论】:
我今天尝试将我的应用程序的新版本上传到 Google Play 并遇到错误:您的应用程序当前以 API 级别 29 为目标,并且必须至少以 API 级别 30 为目标,以确保它基于最新的 API 构建针对安全性和性能进行了优化。将您应用的目标 API 级别更改为至少 30。这个答案为我解决了这个问题。以上是关于如何让我的 ionic 应用程序以 API 级别 28 及以上为目标的主要内容,如果未能解决你的问题,请参考以下文章
我应该如何让我的 Ionic / Apache Cordova / Visual Studio 环境保持最新?
Android PlayStore警告您的应用目前的目标是API级别25