我正在尝试使用新的Android Studio,但我似乎无法让它正常工作。
我使用Gson库序列化/反序列化JSON-Objects。但库不知为何没有包含在构建中。
我创建了一个只有一个主要活动的新项目。将gson-2.2.3.jar复制到/libs文件夹中,并将其添加为库依赖项(右键单击->Add as library)。这包括android studio中的jar,因此可以从源文件中引用它。
当我试图运行这个项目时,它无法编译,所以我添加了以下内容:
compile files('libs/gson-2.2.3.jar')
到de.gradle文件中的依赖项。之后,它会正确编译,但在运行应用程序时,我会得到一个ClassDefNotFoundException
。
有人知道我做错了什么吗?
我已经为同样的事情挣扎了很多个小时,试图让Gson jar工作得更好。我终于破解了--下面是我采取的步骤:
>
gson-2.2.4.jar
)放入libs
文件夹确保编译文件('libs/gson-2.2.4.jar')
在build.gradle
文件中(或者编译文件树(dir:'libs',include:'*.jar')
(如果您正在使用许多jar文件)
编辑:在Android Studio 3.0+中使用实现文件('libs/gson-2.2.4.jar')
(或实现文件树(dir:'libs',include:'*.jar')
)
做一个干净的构建(你可能可以在Android Studio中做得很好,但是为了确保我在终端中导航到我的应用程序的根文件夹并键入gradlew clean
。我在Mac OS X上,你的系统中的命令可能不同
在我做了以上四个,它开始工作良好。我认为“添加为库”步骤是我以前错过的一个步骤,直到我清理它也没有工作。
[编辑-添加了build.gradle
步骤,这也是其他人指出的必要步骤]
下面是将本地jar文件作为库添加到模块的说明:
>
在模块目录(包含“src”目录的同一目录)的顶层创建“libs”文件夹
在build.gradle文件
中添加以下内容,以便您的dependencies闭包具有:
dependencies {
// ... other dependencies
compile files('libs/<your jar's name here>')
}
Android Studio应该已经设置了一个gradlew包装器。从命令行导航到项目的顶层(有gradlew
文件的目录)。
运行。/gradlew assemble
。这应该用库编译项目。您可能需要根据需要修复build.gradle文件中的错误。
为了让Android Studio在IDE中编码时将本地jar文件识别为支持库,您还需要执行几个步骤:
4.1.右键单击左侧面板中的模块,然后选择Open Library Settings
。
4.2.在对话框的左面板上,选择库
。
4.3.单击面板上方左起第二个位置的+
标记->;Java
4.4.选择本地jar并将其添加到项目中。
您可能需要再次运行上述./gradlew
命令
在项目中右键单击
-> new -> module
-> import jar/AAR package
-> import select the jar file to import
-> click ok -> done
1:
2:
3:
您将看到以下内容: