Ein*_*din 5 android xamarin.android xamarin android-proguard
我正在尝试使用带有Xamarin的proguard.所以我在项目选项中启用它(已选中Enable ProGuard),我proguard.cfg在属性中创建了一个文件,(作为新的文本文件,是不是?)并检查了BuildAction - > ProguardConfiguration
proguard文件仅包含带有注释的-keep配置.无论我离开还是删除评论,我总是在第1行得到一个解析错误:
# test comment
-keep class !android.support.v7.view.menu.**, !android.support.design.internal.NavigationMenu, !android.support.design.internal.NavigationMenuPresenter, !android.support.design.internal.NavigationSubMenu, android.support.** {*;}
Run Code Online (Sandbox Code Playgroud)
我收到一个Unknown option '?' in line 1错误.
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:错误:工具退出代码:1.输出:proguard.ParseException:文件第1行中的未知选项'' 'properties/proguard.cfg'
包含在参数号10的proguard.ConfigurationParser.parse(ConfigurationParser.java:191)的proguard.ProGuard.main(ProGuard.java:484)(WheezMe.Droid)
任何的想法 ?
Jon*_*las 16
我稍后添加了文档的这一部分,提到您需要删除BOM(字节顺序标记):
注意:如果出现如下错误,则配置文件包含字节顺序标记(BOM),ProGuard工具无法处理:
Unknown option '-keep' in line 1 of file 'proguard.cfg'
要防止出现此问题,请从文本编辑器中保存自定义配置文件,以便省略BOM.例如,如果从Notepad ++保存,则可以使用UTF-8无BOM中的编码>编码选项来保存ProGuard配置文件而不使用BOM.
无论如何,您可以使用任何方法删除BOM.Notepad ++使它变得非常简单.在此添加完整解决方案以帮助其他人获得可见性.
编辑:
可在此处找到正确的链接:
https://developer.xamarin.com/guides/android/deployment,_testing,_and_metrics/proguard/#File_Issues
也可以使用以下perl命令从文件中删除字节顺序标记:
perl -e 's/\xef\xbb\xbf//;' -pi~ proguard.cfg
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2676 次 |
| 最近记录: |