Xamarin.android Android绑定库未能解析:L……/R$layout

Xamarin.android Android绑定库未能解析:L……/R$layout,xamarin.android,Xamarin.android,我正在尝试为我的Android SDK创建Xamarin支持(以便潜在客户可以将其实现为Xamarin Android应用程序) 我试图避免使用AAR,因为我希望客户端可以使用资源,这样客户端就可以自定义布局。在android库中,这通常非常简单,因为人们可以仅从java类创建JAR文件,并将res文件夹与所有可供编辑的资源保持原样。 我试图对xamarin studio做同样的事情:我将jar定位在jars下,并在lib/jni下添加了.so文件。然后我将res文件夹内容复制到参考资料中。 结

我正在尝试为我的Android SDK创建Xamarin支持(以便潜在客户可以将其实现为Xamarin Android应用程序)

我试图避免使用AAR,因为我希望客户端可以使用资源,这样客户端就可以自定义布局。在android库中,这通常非常简单,因为人们可以仅从java类创建JAR文件,并将res文件夹与所有可供编辑的资源保持原样。 我试图对xamarin studio做同样的事情:我将jar定位在jars下,并在lib/jni下添加了.so文件。然后我将res文件夹内容复制到参考资料中。 结果是: 在Xamarin应用程序(使用绑定项目中的dll)中,我可以看到资源。但是!当我运行java类(我在SDK代码中使用这些资源)时,我得到一个错误: java.lang.NoClassDefFoundError:解析:L……/R$layout失败。 我没有找到任何关于在jar之外使用资源的文档

在AAR内部定义的Android资源中是否还有其他选项可以覆盖AAR之外的资源


提前感谢您的回答/参考

JAR和AAR之间唯一的主要区别是AAR可以包含资源。如果客户机需要自定义资源,您有两种方法

  • 一个Xamarin.Android类库,可以自定义、重新编译并添加到项目中
  • 一个可以定制的Android类库,然后打包到AAR中,由绑定项目绑定
  • 最后,您可以随时指示客户机有目的地覆盖库的资源,因为应用程序资源的优先级将高于库的优先级


    谢谢@Jon Douglas。我选择了“第三个”选项(“最终…”),覆盖了Xamarin应用程序的大部分资源,现在可以自定义元素了。