1

我正在开发适用于 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包的功能

有什么建议么?

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

4

1 回答 1

0

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

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

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

于 2017-09-27T15:22:45.597 回答