我正在尝试将Android本机SDK包装到Xamarin功能中。我有两个.aar文件,一个取决于另一个文件,每个文件都绑定到两个Android Binding项目中。其中一个绑定项目引用了为另一个.aar文件创建的DLL。我对生成的类有些困惑,但是我仍然可以从其他地方调用公共方法。
这实际上是我想要做的。我正在调用的本机SDK中的代码创建了一个新的活动,该活动继承自AppCompatActivity,后者试图设置自定义布局并在屏幕上启动。当我的Android应用程序中的方法完成后,设备屏幕变为空白,并且该应用程序正在抛出:
libraries.android.view.InflateException:二进制XML文件第1行:二进制XML文件第1行:错误膨胀了类android.view.View
这是应该启动的onCreate方法。最糟糕的部分是我无法调试SDK代码(也许有人知道该怎么做),找不到调用堆栈来查看错误发生的地方,并且日志中没有相关信息。>
public void onCreate(Bundle paramBundle)
{
super.onCreate(paramBundle);
setFinishOnTouchOutside(false);
getWindow().addFlags(8192);
setContentView(R.layout.activity_myactivity);
this.e = new DeviceRotationManager(this, Rotation.NATIVE);
this.f = ((Toolbar)findViewById(R.id.toolbar));
setSupportActionBar(this.f);
....
}
崩溃前在日志中可以看到什么:
10-16 00:38:48.327 D / Mono(32438):程序集引用addref DocVerif.Core [0x7f89f37d80]-> Xamarin.Android.Support.v7.AppCompat [0x7f953e2800]:3
10-16 00:38:48.329 D / Mono(32438):程序集引用addref DocVerif.DV [0x7f89f37e80]-> Xamarin.Android.Support.Fragment [0x7f953e2180]:4
10-16 00:38:48.329 D / Mono(32438):程序集引用addref DocVerif.Core [0x7f89f37d80]-> Xamarin.Android.Support.Fragment [0x7f953e2180]:5
10-16 00:38:48.336 I / PhoneWindow(32438):[generateLayout] setColorNavigationBar => color = 0x ff000001
其他信息: