Xamarin在发布模式下与Proguard链接

时间:2017-09-26 19:56:17

标签: c# android xamarin xamarin.ios proguard

我正在为Android和iOS开发 Xamarin Forms 应用。我们使用第三方SDK作为.aar包,构建操作设置为LibraryProjectZip。然后,我们从代码的表单,iOS和Android部分调用。如果我没记错的话,链接在调试模式下工作正常。

我没有让Linker+ProGuard一起工作。我已经阅读了好几天,并尝试了许多解决方案。我有java codes 1 and 2 - 所以我更新了ProGuard,它开始工作了。然后链接产生错误 - UnauthorizedAccessException所以我必须转到相应的文件夹并删除ReadOnly权限。然后项目成功构建,但即使它运行,应用程序功能也会丢失,在Device Log我可以看到某些类缺失。

为了解决这个问题,我创建了一个ProGuard.cfg并添加了大多数使用"-keep"命令崩溃的程序集。但是,我似乎无法找到保留此.aar

的功能的方法

有什么建议吗?

我在Windows 10上使用VS 2017和Xamarin 7.4,使用jdk 1.8,以管理员身份运行。尝试链接Sdk Assemblies / User&Sdk AssembliesMultidex已开启。我已经尝试将所有项目的程序集的名称放在“跳过链接程序集”字段中,没有结果。在设备日志中,我得到了一个失败的呼叫的包名,所以我尝试将其添加到ProGuard,但它没有帮助。 (看起来像"-keep class com.something.something"

1 个答案:

答案 0 :(得分:0)

我无法发表评论,但此博文可能有用。

“链接分析器是一个命令行工具,用于分析在LinkAssemblies步骤中记录的依赖关系。它将显示哪些项目已标记并导致链接的程序集。”

https://www.jon-douglas.com/2017/09/22/linker-analyzer/