简体   繁体   English

如何让我的 ionic 应用程序面向 API 级别 28 及以上

[英]How do i get my ionic app to target API level 28 and Above

I have been trying to upload my ionic app since today and discovered google changed their app rule to target API level 28 and above mine targets 27 so to stay.从今天起,我一直在尝试上传我的 ionic 应用程序,并发现谷歌将他们的应用程序规则更改为目标 API 级别 28 及以上,我的目标是 27,以便留下来。

All the help i got haven't worked for me.我得到的所有帮助都没有为我工作。 I have upgraded my codova android to 8.0.0 after trying 7, I have added this line "" in my config.xml still it didnt work.尝试 7 后,我已将我的 codova android 升级到 8.0.0,我在 config.xml 中添加了这一行 "" 仍然没有用。 please Help请帮忙

my 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>

my build.gradle我的 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
}

The Error i got我得到的错误

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

please help with the solution that worked for you.请帮助您找到适合您的解决方案。

After you change the value in config.xml更改config.xml的值后

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

you need to delete the android folder and create it again您需要删除android文件夹并重新创建它

ionic cordova platform remove android
ionic cordova platform add android

For API level 29 with ionic v5.对于带有 ionic v5.0 的 API 级别 29。 Add preference in the android block.在 android 块中添加首选项。

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

Then remove android然后删除安卓

ionic cordova platform remove android

And add android again ( You need @lastest ).并再次添加 android (你需要 @lastest )。

ionic cordova platform add android@latest

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

This works for me这对我有用

<preference name="android-build-tool" value="30.0.3" />
<preference name="android-targetSdkVersion" value="30" />

Delete your package-lock.json Run These Commands删除你的 package-lock.json 运行这些命令

 ionic cordova platform remove android
 ionic cordova platform add android
 npm install

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在API级别28中使用已弃用的getFragmentManager()? - How do I use the deprecated getFragmentManager() in API Level 28? 在 Android API 级别 28 及更高级别连接时,如何获取 Wifi AP 详细信息,如 SSID、Band 等? - How to get Wifi AP details like SSID, Band, etc when connected in Android API level 28 and above? 我是否需要更新到目标 Android 9(API 级别 28) - Am I required to update to target Android 9 (API level 28) 离子 Android 挂起,至少 API 级别 28 - Ionic Android hangs with least API level 28 获取Android位图字节数i(API级别18-28) - Get Android Bitmap Byte Count i (API level 18 - 28) 如何在 API 级别 &lt; 28 上获取主线程的 Executor - How to get Executor for main thread on API level < 28 使用 ionic-v3 和 cordova 6.3.0 警告 Android API 级别 28 - Warning Android API level 28 with ionic-v3 and cordova 6.3.0 Android目标API级别28+之后出现错误“未定义Google” - Error “Google is not defined” after Android target API level 28+” 如何让我的 ionic 应用程序在我的 Android 手机中运行 - How do I get my ionic app to work in my Android Phone 如何使我的应用程序与所有版本(4.4至28)兼容? - How do I make my app compatible with all versions(4.4 to 28)?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM