Próbowałem zintegrować klienta Amazon SNS z projektem Android.Konflikt z pakietem android - Amazon SNS
jestem w tym bibliotekę stosując następującą zależność poleceń
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.amazonaws:aws-java-sdk-sns:1.10.+'
compile 'com.google.android.gms:play-services:7.5.0'
}
Zatem automatycznie obejmuje powyższą bibliotekę (i jego zależności: aws_java_sdk_core i aws_java_sdk_sqs). Wszystkie 3 biblioteki mają wersję 1.10.2.
Problemem jest to, że rdzeń składa się z dwóch modułów AWS
- fotografia wspomagane (fotografia wspomagane: fotografia wspomagane: 1.1.3)
- HTTPClient (org.apache.httpcomponents: httpclient 4.3 .6)
Ponieważ Android ma te same pakiety wewnętrznie, wyklucza te moduły , aby uniknąć konfliktu. W rezultacie kod aws próbuje uzyskać dostęp do niektórych klas z tych modułów. Tt spodziewa się innej wersji, nie znajdzie oczekiwanej metody i zawiesi aplikację.
Czy istnieje sposób na zastąpienie wykluczenia Androida? (Czy jest jakiś lepszy sposób obsługiwać tej sytuacji?)
EDIT: Dodany Gradle dziennika:
WARNING: Dependency commons-logging:commons-logging:1.1.3 is ignored for debug as it may be conflicting with the internal version provided by Android.
In case of problem, please repackage it with jarjar to change the class packages
WARNING: Dependency org.apache.httpcomponents:httpclient:4.3.6 is ignored for debug as it may be conflicting with the internal version provided by Android.
In case of problem, please repackage it with jarjar to change the class packages
WARNING: Dependency commons-logging:commons-logging:1.1.3 is ignored for release as it may be conflicting with the internal version provided by Android.
In case of problem, please repackage it with jarjar to change the class packages
WARNING: Dependency org.apache.httpcomponents:httpclient:4.3.6 is ignored for release as it may be conflicting with the internal version provided by Android.
In case of problem, please repackage it with jarjar to change the class packages
Gra adwokata diabła, czy może być jakiś kod w twoim projekcie, który oczekuje wersji Androida tych plików JAR Apache? –
Dodano gradle log! –
Możesz również opublikować dzienniki awarii –