我如何使离子应用程序达到API级别28以上

时间:2019-08-02 14:01:52

标签: android angular android-studio ionic3

从今天开始,我一直试图上传我的离子应用程序,结果发现Google将其应用程序规则更改为目标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

请提供适用于您的解决方案的帮助。

3 个答案:

答案 0 :(得分:5)

对于带有离子v5的API级别29。在Android块中添加首选项。

<platform name="android">
    <preference name="android-targetSdkVersion" value="29" />
    /* Other code */
</platform>

然后删除android

ionic cordova platform remove android

然后再次添加android(您需要@lastest)。

ionic cordova platform add android@latest

答案 1 :(得分:3)

更改config.xml中的值

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

您需要删除android文件夹并重新创建

ionic cordova platform remove android
ionic cordova platform add android

答案 2 :(得分:0)

将此添加到您的config.xml <preference name="android-targetSdkVersion" value="28" />