Xamarin.forms 使用嵌入式资源和Proguard形成问题

Xamarin.forms 使用嵌入式资源和Proguard形成问题,xamarin.forms,proguard,Xamarin.forms,Proguard,我有两个不同的应用程序,都使用Xamarin.Forms项目根目录中包含的文件。这些文件被设置为“Build Action”下的嵌入式资源,然后使用下面的代码获取 var assembly = Assembly.GetExecutingAssembly(); Stream stream = assembly.GetManifestResourceStream("test.text.json"); 这种方法适用于所有编译选项,如AoT和LLVM,但涉及Proguard时除外。如果应用程序是使用P

我有两个不同的应用程序,都使用Xamarin.Forms项目根目录中包含的文件。这些文件被设置为“Build Action”下的嵌入式资源,然后使用下面的代码获取

var assembly = Assembly.GetExecutingAssembly();
Stream stream = assembly.GetManifestResourceStream("test.text.json");
这种方法适用于所有编译选项,如AoT和LLVM,但涉及Proguard时除外。如果应用程序是使用Proguard编译的,它将立即强制关闭而无法读取文件

到目前为止,我已经尝试使用自定义proguard.cfg文件为项目中的类创建异常,该文件在VS 2017中设置为我的“proguard配置”

-dontobfuscate
-keep class com.companyname.test** { *; }
-keeppackagenames com.companyname.test**
这没有产生任何结果。应用程序仍然会立即崩溃。只要不在本地加载任何文件,使用Proguard的所有其他应用程序都可以正常工作。我应该使用不同的方式加载文件,还是可以排除Proguard配置中的任何其他内容以使其正常工作

编辑:只是更新这篇文章以引起人们对解决方案的注意。原来我以前解决过这个问题,但出于某种原因,它似乎又回来了。以下是日志输出:

android.view.InflateException: Binary XML file line #20: Binary XML file 
line #20: Error inflating class android.support.v7.widget.FitWindowsFrameLayout
这是我已经添加到我的一般Proguard规则中的东西,而不必向我的项目添加特殊的Proguard配置。作为一种解决方案,这次我只是在proguard.cfg文件中添加了以下两行:

-keep public class android.support.v7.widget.** { *; }
-dontwarn android.support.**

感谢Alen.Toma为我指出了正确的方向。

如果您能提供错误日志文件以便我们进行检查。如果您能提供错误日志文件以便我们进行检查。