Sim*_*ach 19 android build ionic-framework
我不明白这个错误信息
  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
由于线67的AndroidManifest.xml中的样子:
<uses-sdk android:minSdkVersion="18" android:targetSdkVersion="22" />
15来自哪里?
我使用ionic来构建我的应用程序.但我认为这不是问题所在.
Sim*_*ach 18
也许我发现了问题.
我不想覆盖build.gradle,因为cordova动态创建此文件.但我搜索了为什么cdvMinSdkVersion返回错误的值.原因是这个条形码扫描器插件.插件gradle文件有这一行  
ext.cdvMinSdkVersion = 15
它会覆盖AndroidManifest.xml中的值.我删除并再次添加插件后,它的工作原理.但我不知道为什么?也许有人可以解释不同gradle脚本的顺序.
小智 8
从版本2.14.0开始,minSdkVersion已增加到16.如果您希望将应用程序放在较低的minSdkVersion上并想要利用最新的SDK,请为API 16以下的版本禁用PayPal,xmlns:tools="http://schemas.android.com/tools在清单的xml声明中添加,并将以下代码段添加到AndroidManifest.xml:
<uses-sdk android:minSdkVersion="INSERT_YOUR_DESIRED_minSdkVersion_HERE" tools:overrideLibrary="com.paypal.android.sdk.payments"/>
小智 8
我的问题出在cordova-plugin-browsertab中。
您需要将第1行更改my_project/plugins/cordova-plugin-browsertab/src/android/BrowserTab.gradle为
def minSdkVersion = 19
确保您已添加了最低的SDK config.xml
<preference name="android-minSdkVersion" value="19" />
然后通过以下方式删除并添加cordova-android:
cordova platform remove android
cordova platform add android
这里有一些上下文来理解这些事情:
默认情况下,导入 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"/>
然后可以合并以下清单而不会出现关于 <uses-sdk> 标记的错误,并且合并的清单将 minSdkVersion="2" 与应用程序清单保持一致。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.lib1">
   <uses-sdk android:minSdkVersion="4" />
像魅力一样工作:
<?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) -->
| 归档时间: | 
 | 
| 查看次数: | 40682 次 | 
| 最近记录: |