android - 如何在 Release模式下使用 "link all assemblies"的 Android 组件 Xamarin.InAppBilling?

标签 android linker in-app-purchase xamarin in-app-billing

Xamarin 组件 Xamarin.InAppBilling使用链接器行为“链接所有程序集”(项目选项 -> Android 构建 -> 链接器)时,无法通过 serviceConnection.BillingHandler.QueryInventoryAsync 检索任何产品。

您可以通过更改组件自己的示例项目中的链接行为选项轻松重现此问题。是否可以使用 [Preserve] 属性或类似属性来解决此问题?我真的很想尽可能地减少 apk 的最终大小。

最佳答案

有点晚了,但我认为这可能会有所帮助...

一个简单的解决方案是添加一个 Custom Linker Configuration内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<linker>
    <assembly fullname="Xamarin.InAppBilling">
        <namespace fullname="Xamarin.InAppBilling" />
    </assembly>
</linker>

然后链接器跳过 Xamarin.InAppBilling assably 并且它工作。

关于android - 如何在 Release模式下使用 "link all assemblies"的 Android 组件 Xamarin.InAppBilling?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23289576/

相关文章:

android - FaSTLane 将参数传递给插件

java - 如何调整 ImageView 元素的位置和大小以利用较大设备上的额外屏幕空间?

linker - 无法打开文件 atls.lib

iOS/Xcode : Concurrent builds for Debug, Ad Hoc,并发布 *w/In-App Purchases*

google-cloud-functions - Apple Store收据验证不适用于Google Cloud功能

java - IME_ACTION_DONE 似乎破坏了 Android 上的 View.OnKeyListener

Android:无法从线程内访问 View

c++ - 为什么即使链接器找到了目标文件,我的程序也看不到函数定义?

c - 链接中 undefined reference 错误

ios - 他们有什么方法可以识别用户更新应用程序和用户第一次在 iOS 中安装应用程序吗?