我正在尝试使用新的Android Studio,但我似乎不能让它正常工作。

我正在使用Gson库来序列化/反序列化json对象。但是这个库不知何故没有包含在构建中。

我用MainActivity创建了一个新项目。 复制gson-2.2.3.jar到/libs文件夹中,并将其添加为库依赖项(右键单击->添加为库)。这包括android studio中的jar,因此可以从源文件中引用它。

当我尝试运行项目时,它无法编译,所以我添加:

compile files('libs/gson-2.2.3.jar')

到de .gradle文件中的依赖项。之后,它正确编译,但当运行应用程序时,我得到一个ClassDefNotFoundException。

有人知道我哪里做错了吗?


当前回答

在我的例子中,添加的库遗漏了一些依赖项,但不幸的是,Android Studio(0.8.14)对此保密。

不需要手动配置任何东西!我只是添加了缺少的库,并在应用程序构建中使用默认的依赖项配置。Gradle文件,像这样

dependencies {
    compile 'com.google.code.gson:gson:2.+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

其他回答

我发现Android Studio的依赖管理器非常方便和强大的管理第三方依赖(如这里提到的gson)。提供一步一步的指导,这对我来说是有效的(注:这些步骤是针对Android Studio 1.6和Windows平台上的后续版本进行测试的)。

步骤1: 点击“Build > Edit Libraries and Dependencies…”,打开对话框“Project Structure”

步骤2: 选择“app”,然后选择“Dependencies”选项卡。然后选择“Add > 1 Library dependency”

步骤3: 弹出“选择库依赖项”对话框,在搜索中指定“gson”,然后按“搜索按钮”

步骤4: 所需的依赖项将显示在搜索列表中,选择com.google.code.gson:gson:2.7(这是我写答案时的最新版本),按OK

在“项目结构”对话框中按OK。Gradle会相应地更新你的构建脚本。

希望这能有所帮助:)

我已经为同样的事情挣扎了好几个小时,试图让Gson罐子工作。我终于破解了——下面是我采取的步骤:

Put the Gson jar (in my case, gson-2.2.4.jar) into the libs folder Right click it and hit 'Add as library' Ensure that compile files('libs/gson-2.2.4.jar') is in your build.gradle file (or compile fileTree(dir: 'libs', include: '*.jar') if you are using many jar files) Edit : Use implementation files('libs/gson-2.2.4.jar') (or implementation fileTree(dir: 'libs', include: '*.jar')) in Android Studio 3.0+ Do a clean build (you can probably do this fine in Android Studio, but to make sure I navigated in a terminal to the root folder of my app and typed gradlew clean. I'm on Mac OS X, the command might be different on your system

在我完成以上四项之后,它开始正常工作。我认为“添加为库”步骤是我之前错过的一个步骤,直到我清理它它才开始工作。

[编辑-添加构建Gradle步骤也是必要的,正如其他人指出的那样]

Android Studio 3+:

你只需要简单地将jar文件复制到app文件夹下的libs文件夹即可。

...myproject \ app \ libs myfile . jar

然后从“项目”窗口的下拉菜单中选择“项目文件”,右键单击该项目,选择“同步”以在“项目文件”中查看该文件。它会自动在gradle文件(Module:app)中添加依赖项。

dependencies {
...
    implementation files('libs/myfile.jar')

这里有另一个解决方案:

转到Project Files视图(从下拉菜单中选择Project Files)。

选择新…在app下面创建一个名为libs的文件夹。

打开文件资源管理器,复制并粘贴jar文件到libs文件夹中。

在Android Studio中,右键单击jar文件,并选择Add as a Library…从弹出式菜单。

你应该在gradle文件的依赖项列表中看到这个文件:

dependencies {
...
    implementation files('libs/myfile.jar')
}

打开你的java文件,在那里添加import语句:

import com.xxx.xxx;

在android Studio 1.1.0中。 我通过以下步骤解决了这个问题:

1:将jar文件放入libs目录。(仪)

2:打开模块设置,进入依赖项,在左下角有一个加号按钮。点击加号按钮,然后选择“文件依赖”。在这里你可以看到你的jar文件。选择它,它就被解析了。

IIRC,简单地使用“Add as library”是不足以让它与项目一起编译的。

查看Intellij关于向项目中添加库的帮助

你应该最感兴趣的部分是:

(在文件>项目结构中)打开模块设置并选择Dependencies选项卡。 在Dependencies选项卡上,单击add并选择Library。 在“选择库”对话框中,选择一个或多个库,然后单击“添加选定”。

如果库没有显示在对话框中,将其添加到Libraries设置中,就在Modules的正下方。

您不应该再需要添加compile files(),并且应该将库适当地添加到项目中。