AWS auth UI sdk требует minSdkVersion 23, почему?
я настраиваю свое Android-приложение с помощью AWS backend и компилирую com.amazonaws:aws-android-sdk-auth-ui:2.6.+@aar
библиотека требует minSdkVersion 23 в файле gradle уровня приложения, однако я хочу использовать 19 в качестве minSdkVersion. Вот мой файл gradle.
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.jwb.juicewithbenefits"
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:design:26.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
// Mobile Client for initializing the SDK
compile ('com.amazonaws:aws-android-sdk-mobile-client:2.6.7@aar') { transitive = true; }
// Cognito UserPools for SignIn
compile ('com.amazonaws:aws-android-sdk-auth-userpools:2.6.+@aar') { transitive = true; }
// Sign in UI Library
compile ('com.amazonaws:aws-android-sdk-auth-ui:2.6.+@aar') { transitive = true; }
}
здесь ошибка.
Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 19 cannot be smaller than version 23 declared in library [com.amazonaws:aws-android-sdk-auth-ui:2.6.13] /Users/tomfinet/.gradle/caches/transforms-1/files-1.1/aws-android-sdk-auth-ui-2.6.13.aar/7dfb53c482a0be1de8d21de2413312fd/AndroidManifest.xml as the library might be using APIs not available in 19
Suggestion: use a compatible library with a minSdk of at most 19,
or increase this project's minSdk version to at least 23,
or use tools:overrideLibrary="com.amazonaws.mobile.auth.ui" to force usage (may lead to runtime failures)
когда я использую 23 в качестве minSdkVersion
сборка gradle завершается успешно, но не с 19. Как я могу использовать minSdkVersion
19 и построить gradle успешно?
2 ответов
на aws-android-sdk-auth-ui
был введен в v2.6.0 Commit reference.
в этой фиксации были введены зависимости платформы v23 (aws-android-sdk-auth-ui / pom.в XML):
<dependency>
<groupId>com.android.support</groupId>
<artifactId>support-v4</artifactId>
<version>23.0.0</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.android.support</groupId>
<artifactId>appcompat-v7</artifactId>
<version>23.0.0</version>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.android.support</groupId>
<artifactId>cardview-v7</artifactId>
<version>23.0.0</version>
<type>aar</type>
</dependency>
поэтому вам нужен V23 Android SDK, чтобы иметь возможность использовать aws-android-sdk-auth
.
на документация на aws-android-sdk-auth-ui
заявляет, что библиотека зависит от уровня API Android SDK 23 или выше. В другом ответе здесь он пытается доказать это, глядя на com.android.support
зависимостей. Эти версии 23.0.0, но у них есть свои minSdkVersion
на Android SDK (что является отдельным вопросом). Библиотеки поддержки Android не требовали API 14
до версии 26.0.
смотрим aws-android-sdk-auth-ui / build.Gradle в, вы можете se это minSdkVersion
имеет значение 23.
С начало работы с SDK на репо github:
обратите внимание, что AWS SDK для Android поддерживает Android API уровня 10+ и для новых библиотек может потребоваться более высокий уровень API 21+ и 23+.