我正在尝试使用新的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。

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


当前回答

与Eclipse不同,我们不需要下载jar并将其放在/libs文件夹中。Gradle处理这些事情,我们只需要添加Gradle依赖项,Gradle下载并放入Gradle缓存。

我们需要添加依赖项如下:

依赖项{实现'com.google.code.gson:gson:2.2.4'}

这是它 然而,我们也可以下载jar并将其添加为库,但最好的做法是添加Gradle依赖项。

其他回答

编译fileTree(dir: 'libs',包括:'*.jar')工作正常,但编译文件(…)已在Studio Beta 0.8.1测试

我已经阅读了这里所有的答案,它们似乎都涵盖了旧版本的Android Studio!

用Android Studio 2.2.3创建一个项目,我只需要在app下创建一个libs目录,并将我的jar放在那里。 我是用我的文件管理器完成的,不需要在Android Studio中点击或编辑任何东西。

为什么有效?打开构建/编辑库和依赖项,你会看到:

{include=[*.jar], dir=libs}

对于更新的Android 1.0.2,以下内容已经在您的构建中。gradle文件

implementation fileTree(include: ['*.jar'], dir: 'libs')

将库jar添加到你的libs文件夹->右键单击库->单击添加为库->它会要求你为项目添加它->选择你的项目->单击确定 下面的行会自动添加到build.gradle中

implementation files('libs/android-query.jar')

这对我很有帮助。没有别的要求了。我已经为android演示了另一个第三方库。

我只需要在build.gradle中添加一行就可以了:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar']) ----> AS creates this
    implementation 'com.google.code.gson:gson:2.3.1'   ----------> I added this one
}

不要忘记点击右上角的“立即同步”。

我使用的是Android Studio 1.0.1。

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

第一个简单的方法。

复制.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会自动更新。