Freshchat SDK集成(Xamarin Android):Com.Freshchat.Consumer.Sdk.Beans.CalendarDay错误
Xamarin Android集成Freshchat SDK构建错误解决办法
先确认版本匹配
先核对你下载的Freshchat Android SDK版本和Xamarin项目的目标Android API等级,比如Freshchat要求最低API 21,那你的项目就得把目标框架设到API 21及以上,版本不兼容很容易出各种奇怪错误。
正确设置Jar的构建操作
别同时设InputJar和EmbeddedJar,二选一就行:
- 要是做绑定库(生成.dll供其他项目引用),就把Jar文件的构建操作设为
InputJar - 要是直接在项目里用,就设为
EmbeddedJar
另外,建议把Jar放到项目根目录新建的Jars文件夹里,路径别乱,避免构建时找不到文件。
修复绑定库的元数据冲突
如果是绑定库项目,大概率是类名/方法名重复或者枚举定义冲突:
- 打开项目里的
Transforms/Metadata.xml文件 - 比如遇到重复类的错误,就加个移除节点:
<remove-node path="/api/package[@name='com.freshchat.consumer.sdk']/class[@name='重复的类名']" /> - 要是有枚举相关错误,去
EnumFields.xml或EnumMethods.xml里调整对应的规则
彻底清理重建
别嫌麻烦,按这个步骤来:
- 右键项目选「清理」
- 手动删掉项目里的
bin和obj文件夹 - 重启你的开发工具(VS或VS for Mac),再重新构建项目
手动生成绑定配置(终极办法)
自动转换出问题的话,用jar2xml工具手动生成元数据:
- 打开终端,运行命令:
jar2xml 你的FreshchatSDK路径/freshchat-sdk.jar > Metadata.xml - 把生成的
Metadata.xml替换掉绑定库项目里的原文件,再手动修正里面的错误节点
内容的提问来源于stack exchange,提问作者JohanEcAv
相关产品推荐
相关产品推荐

