0

在platforms/android/build.gradle 我默认有以下

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

由于一些插件,我需要将默认版本、最低版本和其他所有内容升级到:

allprojects {
    repositories {
        google()
        jcenter()
    }

    //This replaces project.properties w.r.t. build settings
    project.ext {
      defaultBuildToolsVersion="29.0.0" //String
      defaultMinSdkVersion=21 //Integer - Minimum requirement is Android 4.4
      defaultTargetSdkVersion=30 //Integer - We ALWAYS target the latest by default
      defaultCompileSdkVersion=30 //Integer - We ALWAYS compile with the latest by default
    }
}

是否可以在不从 /platforms 更改此文件的情况下更改这些默认值,因为每次执行平台删除/添加时该文件都会被删除?

在 config.xml 我有这个:

    <platform name="android">
        <preference name="android-minSdkVersion" value="21" />
        <preference name="android-targetSdkVersion" value="30" />
        <preference name="android-compileSdkVersion" value="30" />

而且我还在应用程序级文件夹中添加了这个:

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.0"

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 29
        supportLibVersion = “29.0.0”
}

但这似乎不起作用,在构建过程中我仍然收到此错误:

AAPT: error: attribute android:requestLegacyExternalStorage not found

有什么我想念的吗?

谢谢!

4

1 回答 1

0

如果您在 AndroidManifest.xml 中有以下代码

<application android:requestLegacyExternalStorage="true">
    <activity android:name="com.yalantis.ucrop.UCropActivity" android:screenOrientation="portrait" android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
</application>

然后从中删除android:requestLegacyExternalStorage="true"因为它从 29.0 开始可用

于 2020-12-19T10:58:42.293 回答