我正在尝试使用新的 Android Studio,但我似乎无法让它正常工作。
我正在使用Gson库来序列化 / 反序列化 JSON 对象。但是库不知何故不包含在构建中。
我创建了一个只有MainActivity的新项目。在 / libs 文件夹中复制gson-2.2.3.jar并将其添加为库依赖项(右键单击 - > 添加为库)。这包括 android studio 中的 jar,因此可以从源文件中引用它。
当我尝试运行该项目时,它无法编译,所以我添加:
compile files('libs/gson-2.2.3.jar')
到 de .gradle 文件中的依赖项。之后它正确编译,但在运行应用程序时,我得到一个ClassDefNotFoundException
。
有谁知道我做错了什么?
我已经在同样的事情上苦苦挣扎了好几个小时,试图让 Gson jar 继续工作。我终于破解了它 - 这是我采取的步骤:
gson-2.2.4.jar
)放到libs
文件夹中如果你使用的是很多 jar 文件,请确保compile files('libs/gson-2.2.4.jar')
在build.gradle
文件中(或者compile fileTree(dir: 'libs', include: '*.jar')
)
编辑:在 Android Studio 3.0 + 中使用implementation files('libs/gson-2.2.4.jar')
(或implementation fileTree(dir: 'libs', include: '*.jar')
)
做一个干净的构建(你可以在 Android Studio 中做到这一点,但要确保我在终端导航到我的应用程序的根文件夹并键入gradlew clean
。我在 Mac OS X 上,命令可能不同你的系统
在我完成上述四个之后,它开始正常工作。我认为 '添加为库' 步骤是我以前错过的那个步骤,直到我清理它之前它才行。
[编辑 - 添加了build.gradle
步骤,这也是必要的,正如其他人指出的那样]
以下是将本地 jar 文件作为库添加到模块的说明:
在模块目录的顶层创建一个'libs' 文件夹(包含'src' 目录的同一目录)
在build.gradle file
添加以下内容,以便您的依赖项闭包具有:
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。在对话框的左侧面板中,选择 “ Libraries
。
4.3。单击左侧第二个面板上方的+
号 - > Java
4.4。选择本地 jar 并将其添加到项目中。
您可能需要再次运行上面的./gradlew
命令