我正在尝试使用新的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 Stuido中,我喜欢用Gradle来管理Gson lib。

在构建中添加以下依赖项。gradle文件。

repositories {mavenCentral()}

dependencies {compile 'com.google.code.gson:gson:2.2.4'}

一切都好。

你也可以看到这篇文章。 Android studio中集成第三方库的最佳方式

其他回答

我不知道为什么,但我的Android Studio 0.8.14疯狂时,我试图实现这些解决方案使用Gradle。我承认我对这个伟大的构建工具知之甚少,但Studio为什么会破坏我的项目?我设法让它以这种方式工作:将android-support-v13.jar放入“libs”目录,然后在我的项目上F4,并在我指向android-support-v13.jar的地方添加文件依赖。

的编译文件…“以前为我工作,但现在不是了。在经历了很多痛苦之后,我发现用这个方法是有效的:

编译fileTree(dir: 'libs',包括:'*.jar')

我不知道为什么会有不同,但是,至少这该死的东西现在开始工作了。

有两种方法可以做到这一点。

第一个简单的方法。

复制.jar文件到剪贴板,然后将其添加到libs文件夹。要查看项目中的libs文件夹,请从文件夹上方的组合框中选择项目。

然后右键单击.jar文件,单击“添加为库”,然后选择一个模块,然后确定。 您可以在构建中看到.jar文件。Gradle文件在依赖块。

 dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:21.0.3'
        implementation project(':okhttp-2.0.0')
        implementation 'com.google.code.gson:gson:2.3.1'
    }

第二种方法是:我们可以将.jar文件作为.jar模块导入到模块中,然后将该模块添加到我们想要的任何模块中。

导入模块——>选择你的。jar文件——>而不是导入一个。jar文件——

然后按CTRL+ALT+SHIFT+S——> project sturure——>选择你想要添加一个jar的模块——>Dependencendies——> module Dependency。构建。模块的Gradle会自动更新。

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

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

dependencies {
    compile 'com.google.code.gson:gson:2.+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
menu File -> project struct -> module select "app" -> dependencies tab -> + button 
-> File dependency -> PATH/myfile.jar