我正在尝试使用新的Android Studio,但我似乎无法让它正常工作。
我使用Gson库来序列化/反序列化JSON-对象。但这个库不知为何没有包含在构建中。
我创建了一个新项目,只有一个MainActivity。 复制了/libs文件夹中的gson-2.2.3.jar,并将其添加为库的依赖(右键->添加为库)。这包括android studio中的jar,所以它可以从源文件中被引用。
当我试图运行这个项目时,它不能编译,所以我添加了。
compile files('libs/gson-2.2.3.jar')
到.gradle文件的依赖项中。之后,它编译正确,但当运行应用程序时,我得到一个ClassDefNotFoundException
。
有谁知道我做错了什么吗?
我已经在同样的事情上挣扎了很多小时,试图让Gson jar工作。我终于破解了它--以下是我采取的步骤。
1.把Gson jar(在我的例子中是gson-2.2.4.jar
)放到libs
文件夹中。
2.2.右键点击它,然后点击'添加为库'。
3.确保compile files('libs/gson-2.2.4.jar')
在你的build.gradle
文件中(或者compile fileTree(dir: 'libs', include: '*.jar')
如果你使用许多jar文件)。
编辑:在Android Studio 3.0以上版本中使用`implementation files('libs/gson-2.2.4.jar')`(或`implementation fileTree(dir: 'libs', include: '*.jar')`)。
4.做一个干净的构建(你可能可以在Android Studio中做到这一点,但为了确保我在终端中导航到我的应用程序的根文件夹,并输入gradlew clean
。我使用的是Mac OS X,在你的系统上命令可能不同。
在我做了以上四件事之后,它开始正常工作了。我认为添加为库的步骤是我之前遗漏的,而且在我清理之前也没有工作。
[编辑--增加了build.gradle
步骤,正如其他人所指出的,这也是必要的]
我记得,仅仅使用"添加为库"还不足以让它与项目一起编译。
请查看Intellij的帮助关于在项目中添加库的内容。
你最感兴趣的部分是这个。
(在
文件>项目结构
中)打开模块设置,选择依赖性标签。
在依赖关系标签上,点击添加,选择库。
在 "选择库 "对话框中,选择一个或多个库,并点击添加所选。
如果库没有显示在对话框中,请在库设置中添加它,就在模块下面。
你应该不再需要添加 "compile files()",而且库应该被正确地添加到你的项目中。
在Mac OS X上。
1.将jar添加为库(将jar拖到libs,右击添加为库)。
2.在 "build.grade "中添加编译语句。
3.安装gradle v1.6
(使用homebrew)。
4.gradle clean (rebuild android不起作用)
这样我就解决了。