我不理解此错误消息
C:\Program Files (x86)\Jenkins\workspace\__temp-mobile-prev\platforms\android\AndroidManifest.xml:67:5 Error:
uses-sdk:minSdkVersion 15 cannot be smaller than version 16 declared in library C:\Program Files (x86)\Jenkins\workspace\__temp-mobile-prev\platforms\android\build\intermediates\exploded-aar\com.paypal.sdk\paypal-android-sdk\2.14.2\AndroidManifest.xml
Suggestion: use tools:overrideLibrary="com.paypal.android.sdk.payments" to force usage
因为 AndroidManifest.xml 的 67 行如下所示:
<uses-sdk android:minSdkVersion="18" android:targetSdkVersion="22" />
15 来自哪里?
我使用 ionic 来构建我的应用。但我不认为这是问题所在。
答案 0 :(得分:18)
也许我发现了问题。
我不想覆盖build.gradle,因为cordova动态创建此文件。但我搜索了cdvMinSdkVersion
返回错误值的原因。原因是barcodescanner-plugin。插件gradle文件有这一行
ext.cdvMinSdkVersion = 15
从 AndroidManifest.xml 覆盖我的值。我删除并再次添加插件后,它的工作原理。 但我不知道为什么?也许有人可以解释不同gradle脚本的顺序。
答案 1 :(得分:8)
从版本2.14.0开始,minSdkVersion已增加到16.如果您希望将应用程序放在较低的minSdkVersion上并希望利用最新的SDK,请为API 16以下的版本禁用PayPal,添加{{1在manifest的xml声明中,并将以下代码段添加到AndroidManifest.xml:
xmlns:tools="http://schemas.android.com/tools
答案 2 :(得分:7)
在您应用的代码编辑器中,
按 Ctrl + Shift + F
搜索minSDKVersion
替换为所需的版本号
答案 3 :(得分:4)
如果是Hybrid / Ionic应用程序,可以通过更改config.xml中的minSdkVersion来修复此问题。
答案 4 :(得分:4)
对我来说,问题出在cordova-plugin-browsertab。
您需要将my_project/plugins/cordova-plugin-browsertab/src/android/BrowserTab.gradle
的第1行更改为
def minSdkVersion = 19
确保已将最低的SDK添加到config.xml
<preference name="android-minSdkVersion" value="19" />
然后通过以下方式删除并添加cordova-android:
cordova platform remove android
cordova platform add android
答案 5 :(得分:2)
以下是了解事情的背景:
默认情况下,导入minSdkVersion值高于主清单文件的库时,会发生错误,无法导入库。要使合并工具忽略此冲突并导入库,同时保持应用程序的较低minSdkVersion值,请将overrideLibrary属性添加到标记。属性值可以是一个或多个库包名称(以逗号分隔),表示可以覆盖主清单的minSdkVersion的库。
例如,如果您的应用的主要清单应用overrideLibrary,请执行以下操作:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app"
xmlns:tools="http://schemas.android.com/tools">
<uses-sdk android:targetSdkVersion="22" android:minSdkVersion="2"
tools:overrideLibrary="com.example.lib1, com.example.lib2"/>
然后可以合并以下清单而没有关于&lt; uses-sdk&gt;的错误。标记,合并后的清单会从应用清单中保留minSdkVersion =“2”。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.lib1">
<uses-sdk android:minSdkVersion="4" />
答案 6 :(得分:2)
这解决了我的问题。 右键单击android studio中的应用文件夹,选择“打开模块设置” |或按F4。转到“风味”选项卡,并将“最小Sdk版本”更改为最新版本。 问题已解决。
答案 7 :(得分:1)
我也有同样的问题。我解决了它在 C:\Users\"Username"\.gradle\gradle.properties cdvMinSdkVersion 中更改为 19
org.gradle.daemon=false
org.gradle.jvmargs=-Xmx2048m
android.useAndroidX=false
android.enableJetifier=false
cdvMinSdkVersion=19
我是在 Android Studio 中导入项目时发现的。
答案 8 :(得分:1)
在 'audioplayers: ^0.17.1'
中将您的版本 'audioplayers: ^0.16.1'
降级到 pubspec.yaml
并发布获取 'audioplayers: ^0.16.1'
的依赖项。
答案 9 :(得分:1)
转到build.grade并在defaultConfig中有minSdkversion并将其更改为17并立即同步,这意味着我至少对我有用
答案 10 :(得分:1)
我将向您证明,更简单的方法是按照以下三个步骤进行操作:
1)转到Build.gradle(Module:app)
。
2)将minSDKVersion 15
更改为minSDKVersion 16
。或17
// 19(for projectfolder/platforms/android/CordovaLib/AndroidManifest.xml)
3)同步您的项目。
答案 11 :(得分:0)
在android/app/build.gradle中设置minSdkVersion:
android {
defaultConfig {
minSdkVersion 20
}
}
答案 12 :(得分:0)
转到文件夹 /platforms/android/android.json 将 minsdk 版本更改为您想要的任何版本
{
"xml": "<preference name=\"android-minSdkVersion\" value=\"22\" />",
"count": 1
},
然后转到可能让你搞砸的插件/plugins/{yourplugin}/plugin.xml 将偏好值也更改为您想要的数字
<preference name="android-minSdkVersion" value="22" />
然后检查您的 /platforms/android/build.gradle 文件并确认相同的值
project.ext {
defaultBuildToolsVersion="29.0.2" //String
defaultMinSdkVersion=22 //Integer - Minimum requirement is Android 5.1
defaultTargetSdkVersion=29 //Integer - We ALWAYS target the latest by default
defaultCompileSdkVersion=29 //Integer - We ALWAYS compile with the latest by default
}
答案 13 :(得分:0)
在我添加了用于查看PDF的“ jitPak”库之后,问题就开始出现了,这个问题的根本原因是build.gradel(模块级别)的第13行。只需将版本从15更改为16,即可解决问题。
props.put("bootstrap.servers", uri.getHost() + ":" + uri.getPort());
if (!groupidName.isBlank())
props.put("group.id", groupidName);
props.put("enable.auto.commit", "false");
props.put("auto.offset.reset", groupidName.isBlank() ? "latest" : "earliest");
props.put("session.timeout.ms", "30000");
props.put("max.poll.records", "1");
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
if (kafkaConnector.getConfig().getUserName() != null && kafkaConnector.getConfig().getPassword() != null)
{
props.put("security.protocol","SASL_PLAINTEXT");
props.put("sasl.mechanism","PLAIN");
props.put("username",kafkaConnector.getConfig().getUserName());
props.put("password",kafkaConnector.getConfig().getPassword());
}
答案 14 :(得分:0)
此错误消息表示,贝宝库的最低Android版本为16,而不是您自己的应用程序的版本。
如果您使用的第三方库之一的最低版本大于您的最低版本,则必须将minSdkVersion增加到它们。
答案 15 :(得分:0)
更简单的方法是:
-转到Build.gradle(Module:app)。
-将minSDKVersion 15更改为minSDKVersion 16。
-同步您的项目。
答案 16 :(得分:0)
我修复该问题的方法是转到_myBehaviorSubject = new BehaviorSubject(null);
myBehaviorSubject$ = this._myBehaviorSubject.asObservable();
myObservable$ = this.http.get('api').pipe(tap(items => this._myBehaviorSubject.push(items)));
文件夹,并从我的VS代码编辑器为platforms\android
做一个find-in-folder
,然后将所有minSdkVersion
替换为{{1}不论cordova是否动态生成。之后,一切对我来说都很好。
答案 17 :(得分:0)
试试看。
在build.gradle(模块:应用)中将minSdkVersion 15
更改为minSdkVersion 16
答案 18 :(得分:0)
像魅力一样工作:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.aspireone.myapplication"
xmlns:tools="http://schemas.android.com/tools">
<uses-sdk android:targetSdkVersion="28" android:minSdkVersion="14"
tools:overrideLibrary="com.allyants.draggabletreeview"/>
从此错误消息:
<!-- Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version 15 declared in library [com.github.jakebonk:DraggableTreeView:1.0.1] C:\Users\ASPIREone\.gradle\caches\transforms-1\files-1.1\DraggableTreeView-1.0.1.aar\45f4095d2e68f3e9a1fbc4b73c7f9c33\AndroidManifest.xml as the library might be using APIs not available in 14
Suggestion: use a compatible library with a minSdk of at most 14,
or increase this project's minSdk version to at least 15,
or use tools:overrideLibrary="com.allyants.draggabletreeview" to force usage (may lead to runtime failures) -->
答案 19 :(得分:0)
我使用@Naga建议,它起作用了。
我更改的config.xml不在项目的根目录中,而是在
platforms/android/app/src/main/res/xml/config.xml
和minSdkVersion
不会再次被覆盖
答案 20 :(得分:-1)
根据您的要求增加minSdkVersion,希望它将得到解决。
答案 21 :(得分:-1)
请按照以下三个步骤解决离子3中的错误
1) projectfolder/platforms/android/CordovaLib/AndroidManifest.xml
<uses-sdk android:minSdkVersion="16" />
更改为
<uses-sdk android:minSdkVersion="19" />
2) projectfolder/platforms/android/gradle.properties
cdvMinSdkVersion=16 or X
更改为
cdvMinSdkVersion=19
3) projectfolder/config.xml
<preference name="android-minSdkVersion" value="16" />
更改为
`