Proguard 为 Android 提供 AWS SDK 错误

Proguard gives errors with AWS SDK for Android

在我的 Android 应用程序中,我使用了亚马逊的一些库:

当我在启用 Proguard 和空文件 proguard-project.txt 的情况下导出 apk 文件时,我遇到了这些错误:

    [2015-09-11 09:30:32 - MainActivity] Warning: 
    com.amazonaws.services.sns.util.Topics: can't find referenced class com.amazonaws.services.sqs.model.GetQueueAttributesRequest
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.services.sns.util.Topics: can't find referenced class com.amazonaws.services.sqs.model.GetQueueAttributesRequest
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.services.sns.util.Topics: can't find referenced class com.amazonaws.services.sqs.model.QueueAttributeName
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.services.sns.util.Topics: can't find referenced class com.amazonaws.services.sqs.model.QueueAttributeName
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.services.sns.util.Topics: can't find referenced class com.amazonaws.services.sqs.model.QueueAttributeName
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.services.sns.util.Topics: can't find referenced class com.amazonaws.services.sqs.model.GetQueueAttributesRequest
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.services.sns.util.Topics: can't find referenced class com.amazonaws.services.sqs.AmazonSQS
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.services.sns.util.Topics: can't find referenced class com.amazonaws.services.sqs.AmazonSQS
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.services.sns.util.Topics: can't find referenced class com.amazonaws.services.sqs.model.GetQueueAttributesResult
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.services.sns.util.Topics: can't find referenced class com.amazonaws.services.sqs.model.GetQueueAttributesResult
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.services.sns.util.Topics: can't find referenced class com.amazonaws.services.sqs.model.QueueAttributeName
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.services.sns.util.Topics: can't find referenced class com.amazonaws.services.sqs.model.SetQueueAttributesRequest
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.services.sns.util.Topics: can't find referenced class com.amazonaws.services.sqs.model.SetQueueAttributesRequest
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.services.sns.util.Topics: can't find referenced class com.amazonaws.services.sqs.AmazonSQS
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.services.sns.util.Topics: can't find referenced class com.amazonaws.services.sqs.AmazonSQS
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.services.sns.util.Topics: can't find referenced class com.amazonaws.services.sqs.AmazonSQS
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonFactory
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonFactory
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonFactory
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonFactory
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonFactory
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonParser
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonParser
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonParser
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonParser
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonParser
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonParser
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonFactory
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonFactory
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonReader: can't find referenced class com.fasterxml.jackson.core.JsonToken
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonFactory
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonFactory
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonGenerator
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonGenerator
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonGenerator
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonGenerator
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonGenerator
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonGenerator
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonGenerator
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonGenerator
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonGenerator
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonGenerator
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonGenerator
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonGenerator
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonGenerator
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonGenerator
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonGenerator
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonFactory
[2015-09-11 09:30:32 - MainActivity] Warning: com.amazonaws.util.json.JacksonFactory$JacksonWriter: can't find referenced class com.fasterxml.jackson.core.JsonFactory
[2015-09-11 09:30:32 - MainActivity]       You should check if you need to specify additional program jars.
[2015-09-11 09:30:32 - MainActivity] Warning: there were 78 unresolved references to classes or interfaces.
[2015-09-11 09:30:32 - MainActivity]          You may need to specify additional library jars (using '-libraryjars').
[2015-09-11 09:30:32 - MainActivity] java.io.IOException: Please correct the above warnings first.
[2015-09-11 09:30:32 - MainActivity]    at proguard.Initializer.execute(Initializer.java:321)
[2015-09-11 09:30:32 - MainActivity]    at proguard.ProGuard.initialize(ProGuard.java:211)
[2015-09-11 09:30:32 - MainActivity]    at proguard.ProGuard.execute(ProGuard.java:86)
[2015-09-11 09:30:32 - MainActivity]    at proguard.ProGuard.main(ProGuard.java:492)

请帮助我如何在这种情况下配置 Proguard!

编辑:我使用 Eclipse。

您缺少 aws android sdk 所依赖的依赖项。

如果您正在使用 gradle,而不是自己获取 jar,您应该像这样导入它,gradle 会为您处理传递依赖。像这样:

compile 'com.amazonaws:aws-android-sdk-core:2.+'
compile 'com.amazonaws:aws-android-sdk-cognito:2.+'
compile 'com.amazonaws:aws-android-sdk-s3:2.+'
compile 'com.amazonaws:aws-android-sdk-ddb:2.+'

AWS 设置指南 http://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/setup.html

如果你用的是Eclipse,你得自己找库。您缺少 aws sqsjackson

这些警告是由于缺少 class 引用。 SDK 的打包方式可能会导致在 proguard 时出现警告。但是,这些未解决的 classes 对 SDK 没有影响。您可以安全地忽略它们。这是抑制它们的最小混淆器配置。

-keep class com.amazonaws.** { *; }
-keepnames class com.amazonaws.** { *; }
-dontwarn com.amazonaws.**
-dontwarn com.fasterxml.**

有关详细信息,请参阅 Proguard's trouble shooting