我将 *.aar 添加到我的项目中,当我 运行 它时项目 运行 很好但是我在启动 activity 时出错,如何解决?
I added *.aar to my project ,when I run it the project runs well but I get error when starting activity , how to solve it?
aar
作为一个项目运行良好,然后我将其转换为库模块并将其添加到一个简单的项目中以测试它是否正常运行
错误:
"java.lang.NoClassDefFoundError: Failed resolution of:
Lcom/google/gson/Gson;"
我已经将 Gson
添加到 aar 中。但是在启动 activity(在 aar 中)时它给了我这个错误
如何解决?
使用此依赖项而不是 *.aar 文件。
实施'com.google.code.gson:gson:2.8.5'
您还必须将库 (aar) 的所有依赖项添加到应用程序的 build.gradle 中。库不包括它们的依赖项。
The aar
worked fine as a project then I convert it to library module
AAR 本身不包含任何依赖项。它甚至没有指定依赖项。依赖项在单独的 POM 文件中定义。
如果您手动包含一个 AAR,您还需要在您自己的模块中手动 re-declare 它的依赖项。 否则不会添加依赖项,类将丢失,您将收到 run-time 个错误。
当您定义对 Maven 工件的依赖项(如 com.xxx:yyy:1.2.3
)时,Gradle 会下载 JAR/AAR 以及 POM 文件,这反过来允许 Gradle下载传递依赖项。
解决方案是将"implementation 'com.google.code.gson:gson:2.8.5'"添加到测试项目中,这解决了我的问题,但我还是不喜欢它;)
aar
作为一个项目运行良好,然后我将其转换为库模块并将其添加到一个简单的项目中以测试它是否正常运行
错误:
"java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/gson/Gson;"
我已经将 Gson
添加到 aar 中。但是在启动 activity(在 aar 中)时它给了我这个错误
如何解决?
使用此依赖项而不是 *.aar 文件。
实施'com.google.code.gson:gson:2.8.5'
您还必须将库 (aar) 的所有依赖项添加到应用程序的 build.gradle 中。库不包括它们的依赖项。
The
aar
worked fine as a project then I convert it to library module
AAR 本身不包含任何依赖项。它甚至没有指定依赖项。依赖项在单独的 POM 文件中定义。
如果您手动包含一个 AAR,您还需要在您自己的模块中手动 re-declare 它的依赖项。 否则不会添加依赖项,类将丢失,您将收到 run-time 个错误。
当您定义对 Maven 工件的依赖项(如 com.xxx:yyy:1.2.3
)时,Gradle 会下载 JAR/AAR 以及 POM 文件,这反过来允许 Gradle下载传递依赖项。
解决方案是将"implementation 'com.google.code.gson:gson:2.8.5'"添加到测试项目中,这解决了我的问题,但我还是不喜欢它;)