Sai*_*nan 8 java android amazon-web-services
我一直在尝试将Amazon SNS客户端与android项目集成.
我使用以下依赖命令包含库
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'
}
Run Code Online (Sandbox Code Playgroud)
因此它自动包含上面的库(及其依赖项: aws_java_sdk_core和aws_java_sdk_sqs).所有3个库的版本均为 1.10.2.
问题是AWS核心有两个模块
由于android内部具有相同的包,因此它排除了这些模块以避免任何冲突.结果是当aws代码尝试从这些模块访问某些类时.Tt期待它的不同版本,找不到预期的方法,并使应用程序崩溃.
有没有办法覆盖android的排除?(或者有更好的方法来处理这种情况吗?)
编辑:添加了gradle日志:
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
Run Code Online (Sandbox Code Playgroud)
由于您正在开发 Android 项目,因此请考虑使用适用于 Android 的 AWS 开发工具包。它针对 Android 平台进行了优化。它具有更小的库、更少的依赖项和其他优化。它应该解决冲突的问题。查看开发者指南。
就像更新编译“com.amazonaws:aws-android-sdk-sns:2.2.+”的依赖项一样简单。其使用方式应与Java SDK兼容。