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

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


当前回答

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

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

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

其他回答

在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文档。

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

1)在Project/app/src文件夹中创建一个your_libs文件夹。

2)复制jar文件到your_libs文件夹

3)在Android Studio中,点击文件->项目结构->依赖项->添加->文件依赖项,然后导航到你的jar文件,它应该在src/your_libs下

3)选择jar文件,点击“确定”

然后你可以看到你的构建。Gradle是这样的:编译 文件(src / your_libs / your.jar)

1. 将jar(在我的例子中是gson-2.2.4.jar)放入libs文件夹。 2. 确保构建中有编译文件(libs/gson-2.2.4.jar)。gradle文件。 3.现在点击“同步项目与Gradle文件”(顶部栏左侧到AVD管理器按钮)。

在我完成以上三项之后,它开始正常工作。

第一步:现在在你的app文件夹下,你应该看到libs,如果你没有看到它,然后创建它。

第二步:在这里拖放。jar文件,你可能会得到一个提示“这个文件不属于项目”,只需点击确定按钮。

步骤3:现在你应该在libs文件夹下看到jar文件,右键单击jar文件并选择“添加为库”,点击确定提示“创建库”

步骤4:现在已经添加了这个罐子。

在Mac OS X上:

将jar添加为库(将jar拖到libs,右键单击添加为库) 在build.grade中添加compile语句 安装gradle v1.6(使用自制软件) Brew install gradle gradle - v 如果不是v1.6,升级homebrew Gradle清洁(重建android不工作)

这让我理清了思路。