我在Android Studio 0.8.2中导入了一个AWS模块,做了一些工作,现在想向我的分支提交。在模块根,我右键单击,Git>添加,然后当我点击'提交更改'按钮,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);
}
我不知道这是为什么,也不知道为什么它突然无缘无故地出现,但它可能会对某人有所帮助。
这是Android Studio中的一个bug,将在0.8.3版本中修复。https://android-review.googlesource.com//c/96030/