【发布时间】:2019-10-29 17:51:56
【问题描述】:
我是 Xamarin 的新手,我正在尝试导出我的第一个 APK。 该应用程序在调试模式下完美运行,并且没有给我一个错误。 当我尝试在发布模式下运行时出现问题:输出控制台没有发现错误,但是当我尝试在模拟器中打开应用程序时它崩溃了。
这是 adb logcat:
//https://pastebin.com/4rRLK45p
【问题讨论】:
-
您的 Mono Linker 设置为什么?你是否启用了 proguard/r8? (
Java.Lang.ClassNotFoundException: Didn't find class "android.support.v7.widget.FitWindowsFrameLayout") -
我的链接器在 SDK 和用户程序集上都设置了,并且我启用了 ProGuard
-
首先尝试仅使用指向 sdk 的链接器并关闭 ProGuard,测试发布版本,如果可行,将 ProGuard 文件的排除添加到
--keep缺少的类,测试发布版本并继续添加ProGuard 文件中缺少的任何 Java 类。现在启用带有 SDK 和用户的链接器并重新测试发布版本。如果它未能通过您的测试,请查看日志并为您的任何用户代码添加链接器异常(通常是基于反射的类/方法/成员。 -
首先尝试仅使用指向 sdk 的链接器并关闭 ProGuard,测试发布版本,如果可行,将 ProGuard 文件的排除添加到
--keep缺少的类,测试发布版本并继续添加ProGuard 文件中缺少的任何 Java 类。现在启用带有 SDK 和用户的链接器并重新测试发布版本。如果它未能通过您的测试,请查看日志并为您的任何用户代码添加链接器异常(通常是基于反射的类/方法/成员。 -
关闭 Proguard 后它就可以工作,但是当我添加 proguard.cfg 文件并再次打开 Proguard 时它甚至无法构建(Java 退出代码 1)。
标签: c# android visual-studio xamarin xamarin.android