我已經通過需要初始化的 .aar 創建了一個 xamarin.android 系結庫。當我呼叫本機Start方法時,出現錯誤:
Java.Lang.NoSuchMethodError
no static method "Lpackage/name/SDK;.start(Landroid/content/Context;Lpackage/name/Configuration;)V".
洗掉檔案夾bin并obj重建專案沒有幫助。我也看了檔案api.xml這個方法是有的,可以參考一下。洗掉或添加方法Metadata.xml也無濟于事。
有什么建議或想法嗎?
uj5u.com熱心網友回復:
我一直在尋找問題的根源很長時間,顯然我找到了它。我查看了classes.dex檔案,發現那里沒有SDK型別,只有一個SDK$-CC型別。
Class #0 -
Class descriptor : 'Lpackage/name/SDK$-CC;'
Access flags : 0x1011 (PUBLIC FINAL SYNTHETIC)
Superclass : 'Ljava/lang/Object;'
Interfaces -
Static fields -
Instance fields -
Direct methods -
#0 : (in Lpackage/name/SDK$-CC;)
name : 'start'
type : '(Landroid/content/Context;Lpackage/name/SDK$Configuration;)V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 3
ins : 2
outs : 3
insns size : 6 16-bit code units
catches : (none)
positions :
locals :
Virtual methods -
source_file_idx : 8937 (SDK.kt)
我將暫存器的名稱從 更改[Register ("package/name/SDK", "", "Package.Name.INameInvoker")]為[Register ("package/name/SDK$-CC", "", "Package.Name.INameInvoker")]。
完整的解釋在這里:https ://github.com/xamarin/xamarin-android/issues/6784
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/433187.html
上一篇:具有動態Michrochart-NugetPackage的MVVM不起作用
下一篇:如何停止執行緒內的整個代碼
