我正在尝试制作Android Xamarin绑定库(适用于Zendesk)。最初的问题是这个库是一个多AAR项目。标准问题是绑定库一次只能绑定到一个AAR。如果有多个AAR,那么只会对其中一个进行绑定(根据我的经验添加最新的一个)。 (Bugzilla,Xamarin.Forums on AAR,可以找到许多其他人。)
请记住,我在下面说的所有内容中都有很多Jar文件需要作为EmbeddedReferenceJars添加。
我首先尝试将所有文件放入一个文件夹(并从它们来自的文件夹中命名),然后将所有资源合并到一个文件夹中。 我将其压缩,将zip文件夹重命名为AAR并尝试绑定项目。在 metadata.xml 中做了一些事情后,我没有成功编译带有警告的绑定项目,但测试应用程序会遇到下面提到的问题。
从那里开始,我决定试着看看如果我将每个AAR解压缩到这个文件夹中会发生什么,并看到结果(我必须将classes.jar放在主要级别以尝试绑定)。 我将其压缩,将其重命名为AAR并尝试绑定项目。经过一些小的编辑后,我成功编译了带有警告的绑定项目,但测试应用程序遇到了下面提到的问题。
我接下来要尝试的是为每个AAR创建一个绑定项目,并在每个绑定项目中,将其他AAR的classes.jar文件作为EmbeddedReferenceJar放置,以便它可以构建。再说一遍:我遇到了下面提到的问题。
我一直遇到的问题是绑定中的R文件没有被编译,并且不允许测试应用程序编译。 (即找不到字符串@string/contact_fragment_title
,我可以确认它在 values.xml 和 R.txt 文件中。我试图将字符串放入测试项目中的个人Strings文件中,或者只是删除对这些字符串的引用。当我这样做时,我可以编译测试应用程序,但是我收到一条错误,指出com.zendesk.sdk.R$attr NoClassDefFoundError
。
非常感谢任何帮助。如果我需要澄清任何事情(我的写作很恐怖),请随意提问。