当我尝试使用proguard重建应用程序时收到此错误:(我尝试了所有为错误MSB6006建议的解决方案:" java.exe"退出代码1,但在我的情况下,似乎与GCM有一些冲突)
19> PROGUARD:警告: com.google.android.gms.common.GooglePlayServicesUtil:无法找到 引用的方法'无效 setLatestEventInfo(android.content.Context,java.lang.CharSequence中,java.lang.CharSequence中,android.app.PendingIntent)' 在类android.app.Notification 19> PROGUARD:警告: com.google.android.gms.gcm.zza:无法找到引用的方法'无效 setLatestEventInfo(android.content.Context,java.lang.CharSequence中,java.lang.CharSequence中,android.app.PendingIntent)' 在类android.app.Notification 19>中你应该检查一下 需要指定其他程序罐。 19> PROGUARD:警告:那里 是程序类成员的两个未解决的引用。 19基
您的输入类似乎不一致。 19基你可以 需要重新编译它们并再试一次。 19基或者,你 可能必须指定选项19>
' -dontskipnonpubliclibraryclassmembers&#39 ;. 19基java.io.IOException异常: 请先纠正上述警告。 19基在 proguard.Initializer.execute(Initializer.java:321)19>在 proguard.ProGuard.initialize(ProGuard.java:211)19>在 proguard.ProGuard.execute(ProGuard.java:86)19>在 proguard.ProGuard.main(ProGuard.java:492)19>已接 JAVA_TOOL_OPTIONS:-Dfile.encoding = UTF8 19> C:\ Program Files (86)\的MSBuild \ Xamarin \的Android \ Xamarin.Android.Common.targets(2118,3): 错误MSB6006:" java.exe"退出代码1.
答案 0 :(得分:2)
Google GMS库有时会尝试访问不适用于给定目标SDK版本的库方法,并在运行时优雅地处理错误。因此,通常需要并且安全地添加类似这样的内容来忽略此类警告:
-dontwarn com.google.android.gms.**
-dontnote com.google.android.gms.**
这些规则将忽略gms库中的所有警告和注释。
答案 1 :(得分:0)
我用Xamarin论坛的解决方案解决了这个问题:
在解决方案中的Android项目中创建名为proguard.cfg的文件。右键单击并将Build Action设置为ProguardConfig。 添加以下行:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
while true:
a = s.accept()
try:
data = a[0].recv(1024)
except socket.error:
a[0].close()
print 'cought the error'
根据您获得的错误类型对上述内容进行修改 确保将文件保存为UTF-8而不是UTF-8 BOM
编译版本:6.0 最低目标:5.1 目标版本:6.0