如何使用不同的sdk版本合并两个项目

时间:2017-04-21 22:00:43

标签: android android-studio jar merge projects

我一直在分别处理两个android工作室项目。

项目1 :使用第三方专有库(SDK minversion 9)生成在线信用卡交易。编码后,应用程序工作正常。

项目2 :使用另一个第三方专有lib(SDK minversion 5)来处理audioJack读卡器。编码后,应用程序也可以正常工作。

当我尝试合并它们以创建完整的POS解决方案时,问题就开始了。它源于sdk版本库的差异。

我尝试在合并后更改build.gradle文件中的min版本参数...但之后, Project 2 的代码开始生成错误,因为新的sdk版本用于编译(可能它里面有一些不推荐的类)。

1)使用此Gradle,这可以正常工作:apply plugin: 'com.android.application'

android {
    compileSdkVersion 20
    buildToolsVersion "25.0.2"

    defaultConfig {
        applicationId "com.acs.audiojackdemo"
        minSdkVersion 5
        targetSdkVersion 20

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile files('libs/acsaudiojack-1.0.0preview15.jar')
}

2)添加库时会抛出错误:

compile('com.mercadopago:sdk:2.3.6@aar') { transitive = true }

错误是:

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : 
   uses-sdk:
     minSdkVersion 5 cannot be smaller than version 9 declared in library 
       [com.mercadopago:sdk:2.3.6] 
         C:\Users\jajal\.android\build-cache\2c961bb48263cf26566b0501fade730485d110de\output\AndroidManifest.xml
    Suggestion: use tools:overrideLibrary="com.mercadopago" to force usage

3)如果我将minSdkVersion值从5更改为9,我会收到很多错误。第一个错误是:

Error:(3) Error retrieving parent for item: 
    No resource found that matches the given name
      'android:Widget.Material.Spinner.Underlined'.

0 个答案:

没有答案