我在Android Studio 0.8.2中导入了一个AWS模块,对此做了一些工作,现在想对我的分支进行提交。在模块根目录上,我右键单击Git> Add,然后单击“提交更改”按钮,gradle做了一些魔术,然后抱怨以下有关以下代码的错误:
Error:(27, 53) ProguardTokenType.CRLF, ProguardTokenType.FLAG_ARG, ProguardTokenType.LINE_CMT or ProguardTokenType.OPEN_BRACE expected, unexpected end of file
码:
# These options are the minimal options for a functioning application
# using Proguard and the AWS SDK for Android
-keep class org.apache.commons.logging.** { *; }
-keep class com.amazonaws.services.sqs.QueueUrlHandler { *; }
-keep class com.amazonaws.javax.xml.transform.sax.* { public *; }
-keep class com.amazonaws.javax.xml.stream.** { *; }
-keep class com.amazonaws.services.**.model.*Exception* { *; }
-keep class com.amazonaws.internal.** { *; }
-keep class org.codehaus.** { *; }
-keep class org.joda.time.tz.Provider { *; }
-keep class org.joda.time.tz.NameProvider { *; }
-keepattributes Signature,*Annotation*,EnclosingMethod
-keepnames class com.fasterxml.jackson.** { *; }
-keepnames class com.amazonaws.** { *; }
-dontwarn com.fasterxml.jackson.databind.**
-dontwarn javax.xml.stream.events.**
-dontwarn org.codehaus.jackson.**
-dontwarn org.apache.commons.logging.impl.**
-dontwarn org.apache.http.conn.scheme.**
-dontwarn org.apache.http.annotation.**
-dontwarn org.ietf.jgss.**
-dontwarn org.joda.convert.**
-dontwarn org.w3c.dom.bootstrap.**
-dontnote com.amazonaws.services.sqs.QueueUrlHandler
我不熟悉ProguardProperty文件语法,但是尝试添加类似{*; }到最后一行(用红色下划线标记),但是问题仍然相同。奇怪的是,这个错误只会在我添加Git时出现,而在运行它连接的Android代码时不会出现
https://github.com/awslabs/aws-sdk-android-samples/blob/9c4c37ccfb759415aa094928008742c810141c00/DynamoDBMapper_UserPreference_Cognito/proguard-project.txt
最佳答案
我发现可能对某人有帮助的其他事项:
我遇到了同样的错误,结果是AS(2.1.2)无法处理下一行的左括号,因此这不起作用...
-keepclassmembers class * extends android.app.Activity
{
public void *(android.view.View);
}
..但这确实...
-keepclassmembers class * extends android.app.Activity{
public void *(android.view.View);
}
我不知道为什么会这样,或者为什么突然无缘无故出现它,但它可能会有所帮助。