我目前正在尝试获取用 java(.jar 文件)编写的 SDK,以便与 Xamarin.Android 一起使用。因此,我尝试按照官方教程 ( https://learn.microsoft.com/en-us/xamarin/android/platform/binding-java-library/binding-a-jar )绑定 .jar 文件. 我如何摆脱警告“警告 BG8102:X 类具有未知的基类型 Y”。没有源代码?不幸的是,我没有取得太大的成功,因为只有一小部分类可以正确绑定。我查看了控制台,看到了很多类似的警告“warning BG8102: Class Wangpos.Sdk4.Libbasebinder.IDCard has unknown base type wangpos.sdk4.libbasebinder.a.”。所有其他警告大多相同 - 只有类不同(基本类型保持不变)。我已经尝试反汇编 .jar SDK 文件,但是基类“a”似乎并没有异常。除了 java 本机参考之外,没有其他参考。分解类的一小段。import android.content.Context;import android.content.Intent;import android.content.ServiceConnection;import android.os.IBinder;import android.os.IBinder.DeathRecipient;import android.os.RemoteException;import android.util.Log;import java.util.concurrent.CountDownLatch;import wangpos.sdk4.base.IBinderPool;public class a{ private static final String a = "BaseBinder"; public static final int BINDER_NONE = -1; private Context c; private static IBinderPool d = null; private static a e; private CountDownLatch f; protected boolean b = false; private a(Context context) { c = context; d = null; c(); } public a() {} static a a(Context context) { if (d == null) { synchronized (a.class) { if (d == null) { e = new a(context); } } } return e; } private ServiceConnection g = new BaseBinder.1(this); ...}
1 回答

江户川乱折腾
TA贡献1851条经验 获得超5个赞
通常,我们会在各自的.jar/.aar
库中看到混淆类型的特征,我们必须取消混淆它们以便绑定生成器生成相应的 C# 类型。
你可以试试这个,在你的库- Transforms - Metadata.xml添加:
<attr path="/api/package[@name='{package_name}']/class[@name='{name}']" name="obfuscated">false</attr>
添加回答
举报
0/150
提交
取消