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

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

repositories {mavenCentral()}

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

一切都好。

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

在Kotlin DSL (build.gradle.kts)中,有多种方法可以做到这一点。 我们假设库文件在project/app/libs/目录下。

Method 1 implementation( files( "libs/library-1.jar", "libs/library-2.jar", "$rootDir/foo/my-common-library.jar" ) ) Method 2 implementation( fileTree("libs/") { // You can add as many include or exclude calls as you want include("*.jar") include("another-library.aar") // aar is similar to jar exclude("bad-library.jar") } ) Method 3 implementation( fileTree( // Here, instead of repeating include or exclude, assign a list "dir" to "libs/", "include" to "*.jar", "exclude" to listOf("bad-library-1.jar", "bad-library-2.jar") ) ) Method 4 repositories { flatDir { dirs("libs/", "lib/") } } dependencies { // Could also write implementation(":jsoup:1.4.13") implementation("org.jsoup:jsoup:1.4.13") // NOTE: Add @aar suffix for AAR files implementation("ir.mahozad.android:pie-chart:0.7.0@aar") }

您可以在包含和排除调用中使用Ant模式,如上所示。

有关这方面的更多信息,请参阅Gradle文档。

感谢这篇文章和这篇文章提供了有用的答案。

我只需要在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。

就像许多人之前指出的那样,你应该补充

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

适合你的身材。gradle文件。

然而,我在Android Studio中有一个项目,是从Eclipse迁移过来的,在这种情况下,“libs”文件夹被命名为“lib”,所以对我来说,删除“s”解决了问题。

所有这些解决方案都过时了。现在在Android Studio中非常简单:

文件>新模块…

下一个屏幕看起来很奇怪,就像你选择了一些小部件或其他东西,但保留了它 在第一张图片和下面滚动,找到“Import JAR or .AAR Package”

然后从文件菜单中选择项目结构。从打开的窗口中选择app,然后选择依赖项,然后按绿色加号按钮,选择模块依赖项,然后选择导入的模块,然后按OK