我正在尝试使用新的 Android Studio,但似乎无法使其正常工作。
我正在使用 Gson 库来序列化/反序列化 JSON 对象。但是该库不知何故未包含在构建中。
我创建了一个只有 MainActivity 的新项目。复制 /libs 文件夹中的 gson-2.2.3.jar 并将其添加为库依赖项(右键单击->添加为库)。这包括 android studio 中的 jar,因此可以从源文件中引用它。
当我尝试运行该项目时,它无法编译,所以我添加了:
compile files('libs/gson-2.2.3.jar')
到 de .gradle 文件中的依赖项。之后它可以正确编译,但是在运行应用程序时我得到一个 ClassDefNotFoundException
。
有谁知道我做错了什么?
我已经为同样的事情苦苦挣扎了好几个小时,试图让 Gson jar 发挥作用。我终于破解了它——这是我采取的步骤:
将 Gson jar(在我的情况下为 gson-2.2.4.jar)放入 libs 文件夹右键单击它并点击“添加为库”确保编译文件(“libs/gson-2.2.4.jar”)在您的 build.gradle 文件(或编译 fileTree(dir: 'libs', include: '*.jar') 如果您使用许多 jar 文件)编辑:使用实现文件('libs/gson-2.2.4.jar') (或实现 fileTree(dir: 'libs', include: '*.jar')) 在 Android Studio 3.0+ 中做一个干净的构建(你可以在 Android Studio 中做到这一点,但要确保我在终端中导航到我的应用程序的根文件夹并输入 gradlew clean。我在 Mac OS X 上,您的系统上的命令可能不同
在我完成上述四个之后,它开始正常工作。我认为“添加为库”步骤是我之前错过的步骤,并且在我清理它之前它也不起作用。
[编辑 - 添加了 build.gradle
步骤,正如其他人指出的那样,这也是必要的]
以下是将本地 jar 文件作为库添加到模块的说明:
在模块目录的顶层创建一个“libs”文件夹(包含“src”目录的同一目录)在 build.gradle 文件中添加以下内容,以便您的依赖项闭包具有:依赖项 { // ... 其他dependencies compile files('libs/
在项目中右键
-> new -> module
-> import jar/AAR package
-> import select the jar file to import
-> click ok -> done
请按照以下屏幕截图:
1:
https://i.stack.imgur.com/t1zzO.png
2:
https://i.stack.imgur.com/bVTKi.png
3:
https://i.stack.imgur.com/VBGEc.png
你会看到这个:
https://i.stack.imgur.com/T5Vna.png
在 Android Stuido 中,我喜欢使用 Gradle 来管理 Gson 库。
在您的 build.gradle 文件中添加以下依赖项。
repositories {mavenCentral()}
dependencies {compile 'com.google.code.gson:gson:2.2.4'}
一切都好。
你也可以看看这个帖子。 The best way to integrate third party library in Android studio
IIRC,仅使用“添加为库”不足以使其与项目一起编译。
检查 Intellij's help 关于将库添加到项目
您最感兴趣的部分是:
(在文件 > 项目结构中)打开模块设置并选择依赖项选项卡。在依赖项选项卡上,单击添加并选择库。在“选择库”对话框中,选择一个或多个库,然后单击“添加所选”。
如果该库未显示在对话框中,请将其添加到“库”设置中,就在“模块”下方。
您应该不再需要添加 compile files()
,并且应该将库正确添加到您的项目中。
所有这些解决方案都已过时。现在在 Android Studio 中真的很容易:
文件 > 新模块...
下一个屏幕看起来很奇怪,就像您正在选择一些小部件或其他东西,但将其保留在第一张图片和下方滚动并找到“导入 JAR 或 .AAR 包”
然后从文件菜单中选择 Project Structure
。从打开的窗口中选择 app
,然后选择 dependencies
,然后按 green plus button
,选择 module dependency
,然后选择您导入的模块,然后按 OK
在 Android Studio 中添加外部库的简单步骤如果您在项目资源管理器中的 Android 视图中,请将其更改为项目视图,如下所示右键单击要添加外部库的所需模块,然后选择新建 > 目录并将其命名为'libs' 现在将 blah_blah.jar 复制到 'libs' 文件夹中 右键单击 blah_blah.jar,然后选择 'Add as Library..'。这将作为编译文件('libs/blah_blah.jar')自动添加并进入 build.gradle 并同步 gradle。完成请注意:如果您使用的是 3rd 方库,那么最好使用 Gradle 脚本在 gradle 脚本运行时自动下载 JAR 和依赖项 JAR 的依赖项。例如:编译 'com.google.android.gms:play-services-ads:9.4.0' 阅读有关 Gradle 依赖管理的更多信息
“编译文件...”曾经为我工作,但不再适用。在经历了很多痛苦之后,我发现使用它可以代替:
compile fileTree(dir: 'libs', include: '*.jar')
我不知道为什么这会有所作为,但是,至少该死的东西现在正在起作用。
从网站下载库文件 从 windows explore 复制 从 Project Explorer 粘贴到 lib 文件夹 Ctrl+Alt+Shift+S 打开项目结构 选择依赖项选项卡,使用 + 工具栏添加文件 使用按钮将项目与 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
}
不要忘记点击右上角的 Sync now
。
我正在使用 Android Studio 1.0.1。
fileTree
行的作用吗?
我发现 Android Studio 的 Dependency Manager 非常方便且强大,可以管理 3rd 方依赖项(就像这里提到的 gson)。提供对我有用的分步指南(注意:这些步骤已针对 Windows 平台上的 Android Studio 1.6 及更高版本进行了测试)。
第 1 步:转到“构建 > 编辑库和依赖项...”,它会打开“项目结构”对话框
https://i.stack.imgur.com/AancD.png
步骤 2:选择“应用程序”,然后选择“依赖项”选项卡。然后选择“添加 > 1 个库依赖项”
https://i.stack.imgur.com/gIxHY.png
步骤 3:将显示“选择库依赖项”对话框,在搜索中指定“gson”并按“搜索按钮”
https://i.stack.imgur.com/HPzBT.png
步骤4:所需的依赖项将显示在搜索列表中,选择com.google.code.gson:gson:2.7(这是我写答案时的最新版本),按OK
https://i.stack.imgur.com/he34z.png
在“项目结构”对话框中按确定。 Gradle 会相应地更新您的构建脚本。
https://i.stack.imgur.com/T9tRu.png
希望这会有所帮助:)
Android Studio 2.3.3
1. 将 jar(在我的情况下为 gson-2.2.4.jar)放入 libs 文件夹。 2. 确保编译文件 (libs/gson-2.2.4.jar) 在您的 build.gradle 文件中。 3. 现在单击“与 Gradle 文件同步项目”(左侧到顶部栏上的 AVD 管理器按钮)。
在我完成上述三个之后,它开始正常工作。
下载和将您的 .jar
文件复制到 libs
文件夹中,然后将这些行添加到 build.gradle:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.google.code.gson:gson:2.3.1'
}
不要忘记点击“立即同步”
您可以使用两个选项来执行此操作。
第一种简单的方法。
将 .jar 文件复制到剪贴板,然后将其添加到 libs 文件夹。要查看项目中的 libs 文件夹,请从文件夹上方的组合框中选择项目。
然后右键单击.jar 文件并单击添加为库然后选择一个模块然后确定。您可以在依赖项块内的 build.gradle 文件中看到 .jar 文件。
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 文件添加到模块中,然后将此模块添加到我们想要的任何模块中。
https://i.stack.imgur.com/Qvjze.png
https://i.stack.imgur.com/TpY4q.png
我已经完成了以上 3 个步骤及其对我的工作魅力。
(我使用的是 Android Studio 2.1.2)
https://i.stack.imgur.com/fgJag.png
步骤1
将您的 jar 包名称(例如 compile 'com.squareup.okhttp3:okhttp:3.3.1')添加到 build.gradle(Module:app) 下的 gradle 构建脚本中。
https://i.stack.imgur.com/F3ybS.png
第2步:右键单击应用程序文件夹->新建->模块
https://i.stack.imgur.com/ardzA.png
第 3 步: 点击 Import JAR/.AAR Package 然后浏览您的包。例如:OkHttp.jar
https://i.stack.imgur.com/SalI1.png
使用 Android Studio 3+:
您应该能够简单地将 jar 文件复制到 app 文件夹下的 libs 文件夹中。
... myproject\app\libs\myfile.jar
然后从 Projects 窗口的下拉列表中选择 Project Files,右键单击该项目,选择 Synchronize 以在 Project Files 中查看该文件。它将自动在 gradle 文件 (Module:app) 中添加依赖项。
dependencies {
...
implementation files('libs/myfile.jar')
这是另一个解决方案:
转到项目文件视图(从下拉列表中选择项目文件)。
https://i.stack.imgur.com/3Bmk2.png
选择 New... Directory,在 app 下创建一个名为 libs 的文件夹。
https://i.stack.imgur.com/US0wB.png
打开文件资源管理器,将您的 jar 文件复制并粘贴到 libs 文件夹中。
在 Android Studio 中,右键单击 jar 文件,然后从弹出菜单中选择 Add as a Library...。
https://i.stack.imgur.com/M7Oz9.png
您应该会在 gradle 文件的依赖项列表中看到该文件:
dependencies {
...
implementation files('libs/myfile.jar')
}
打开您的 java 文件,并在其中添加 import 语句:
import com.xxx.xxx;
将 .jar
文件放在 Android 项目的 libs
文件夹中。
然后在应用程序的 gradle 文件中添加这行代码:
compile fileTree(dir: 'libs', include: ['*.jar'])
对于 Android gradle plugin 3.0 及更高版本,最好改用这个:
implementation fileTree(dir: 'libs', include: ['*.jar'])
与 Eclipse 不同,我们不需要下载 jar 并将其放在 /libs 文件夹中。 Gradle 处理这些事情我们只需要添加 Gradle 依赖项,Gradle 将其下载并放入 gradle 缓存中。
我们需要添加依赖项:
依赖{实施'com.google.code.gson:gson:2.2.4'}
就是这样但是我们也可以下载 jar 并将其添加为库,但最佳实践是添加 Gradle 依赖项。
menu File -> project struct -> module select "app" -> dependencies tab -> + button
-> File dependency -> PATH/myfile.jar
第 1 步:现在在您的 app folder
下您应该会看到 libs
,如果您没有看到它,然后创建它。
第2步:Drag & Drop the .jar file here
,您可能会得到提示"This file does not belong to the project"
,只需点击OK
按钮即可。
第 3 步:现在您应该会看到 libs 文件夹下的 jar 文件,右键单击该 jar 文件并选择 "Add as library", Click OK for prompt "Create Library"
第4步:现在这个罐子已经被添加了。
https://i.stack.imgur.com/Clh8O.png
1) 在 Project/app/src 文件夹中创建一个“your_libs”文件夹。
2)将你的jar文件复制到这个'your_libs'文件夹中
3) 在 Android Studio 中,转到 File -> Project Structure -> Dependencies -> Add -> File Dependency 并导航到您的 jar 文件,该文件应位于“src/your_libs”下
3)选择你的jar文件并点击“确定”
然后你可以在你的 build.gradle 上看到这样的: compile files('src/your_libs/your.jar')
在安卓工作室 1.1.0 中。我通过以下步骤解决了这个问题:
1:将jar文件放入libs目录。 (在查找器中)
2:打开模块设置,进入依赖,左下角有一个加号按钮。单击加号按钮,然后选择“文件依赖关系”。在这里你可以看到你的 jar 文件。选择它并解决。
我已经阅读了这里的所有答案,它们似乎都涵盖了旧版本的 Android Studio!
对于使用 Android Studio 2.2.3 创建的项目,我只需要在 app
下创建一个 libs
目录并将我的 jar 放在那里。我用我的文件管理器做到了这一点,无需在 Android Studio 中单击或编辑任何内容。
为什么它有效?打开 Build / Edit Libraries and Dependencies,你会看到:
{include=[*.jar], dir=libs}
在您的项目名称/应用文件夹中,找到 libs 文件夹。如果没有 libs 文件夹,则创建一个。添加您的 .jar 文件。右键单击它,您会发现添加 .jar 作为依赖项。您可以找到添加到 build.gradle 文件中的依赖项。
在 Mac OS X 上:
将jar添加为库(将jar拖到libs,右键单击add as lib)在build.grade中添加编译语句安装gradle v1.6(使用homebrew)brew install gradle gradle -v如果不是v1.6,升级homebrew gradle clean(重建安卓没用)
这解决了我。
我的答案基本上是收集上面提供的一些正确但不完整的答案。
打开 build.gradle 添加以下内容: dependencies { compile 'com.android.support:appcompat-v7:19.+' compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google .code.gson:gson:2.3' } 这将允许支持两种不同的添加依赖项的方式。 compile fileTree(dir: 'libs', include: ['*.jar']) (正如@Binod 提到的)告诉编译器在文件夹 libs 下查找任何 jar。创建这样一个文件夹“libs”是一个很好的做法,它将包含我们的应用程序需要使用的 jar 包。
但这也将允许支持 Maven 依赖项。 compile 'com.google.code.gson:gson:2.3'
(正如@saneryee 所提到的)是另一种推荐的添加依赖项的方法,这些依赖项位于中央远程存储库中,而不是在我们的 /libs “本地存储库”中。它基本上是告诉 gradle 寻找那个版本的包,它告诉编译器在编译项目时考虑它(将它放在类路径中)
PS:我两个都用
像许多人之前指出的那样,您应该添加
compile files('libs/gson-2.2.3.jar')
到您的 build.gradle 文件。
但是我在 Android Studio 中有一个从 Eclipse 迁移的项目,在这种情况下,“libs”文件夹被命名为“lib”,所以对我来说删除“s”解决了这个问题。
在 app 级别添加了 libs 文件夹。在这个项目中添加了所有的 jars。接下来,选择所有 jars,在 libs 文件夹中,右键单击所选项目,然后说添加库,然后您将在项目资源管理器中找到 jars 扩展选项。
我观察到 CTRL + ALT + SHIFT + S -->项目结构 --> app-module -->Dependencies" 最初在 compile-option
下已经有一个条目为 (dir: 'libs', include: '*.jar')
。按照上述步骤添加 jar 后,build.gradle
获得了新添加的 jar 本身的条目.
在 Android Studio 2.1 我遵循这种方式,
转到应用程序-> src-> 主-> 资产文件夹(如果不可用,创建它)-> 放置您的 JAR 文件
https://i.stack.imgur.com/fvOiT.png
在你的 build.gradle 添加这样的依赖,
implementation files('src/main/assets/jsoup.jar')
implementation files('src/main/assets/org-apache-xmlrpc.jar')
implementation files('src/main/assets/org.apache.commons.httpclient.jar')
implementation files('src/main/assets/ws-commons-util-1.0.2.jar')
立即同步。现在您的 JAR 文件可以使用了。
对于较新的 Android 1.0.2,您的 build.gradle 文件中已包含以下内容
implementation fileTree(include: ['*.jar'], dir: 'libs')
将库jar添加到您的libs文件夹->右键单击库->单击添加为库->它要求您添加项目->选择您的项目->单击确定以下行自动添加到构建.gradle
implementation files('libs/android-query.jar')
那是为我做的。什么都不需要了。我已经为 android aquery 展示了这个用于 android 的另一个第三方库。
不定期副业成功案例分享
compile fileTree(dir: 'libs', include: '*.jar')
repositories { mavenCentral() }
并将您的compile files(...)
行替换为compile 'com.google.code.gson:gson:2.2.4'
和 gradle 将自动下载和管理jar 文件。这允许 SCM 只跟踪源代码文件而不是库。build.gradle
中: compile fileTree(dir: 'libs', include: ['*.jar'])