我有一个包含SDK的.aar文件,它需要gson库才能工作,所以我将gson.jar文件作为ReferenceJar添加到项目中,但它找不到引用。
我已经尝试从aar中提取jar,并使用一个作为InputJar和gson jar作为ReferenceJar,它不起作用。在这种情况下,java代码会吐出此错误:
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/gson/Gson;
我试图创建一个单独的项目,它只包含作为InputJar的gson文件,并将其用作对其他项目的依赖。在这种情况下,gson项目不编译,VS吐出错误就像
CS0534 "CollectionTypeAdapterFactory.Adapter" does not implement inherited abstract member "TypeAdapter.Read(JsonReader)"
我也尝试将gson.jar文件添加到.aar文件中的libs文件夹中,但是给了我相同的编译错误,如上所述
那么,接下来我该怎么办?
我想通了。
我不得不从.aar中提取jar并将其设置为EmbeddedJar
,将gson库设置为EmbeddedReferenceJar
。不知怎的,它奏效了。如果有人能解释我为什么,那就太好了。