Android Studio: Add jar as library?
我正在尝试使用新的Android Studio,但我似乎无法让它正常工作。
我正在使用Gson库来序列化/反序列化JSON对象。 但是库不知何故不包含在构建中。
我创建了一个只有MainActivity的新项目。
在/ libs文件夹中复制gson-2.2.3.jar并将其添加为库依赖项(右键单击 - >添加为库)。 这包括android studio中的jar,因此可以从源文件中引用它。
当我尝试运行该项目时,它无法编译,所以我添加:
1 | compile files('libs/gson-2.2.3.jar') |
到de .gradle文件中的依赖项。 之后它正确编译,但在运行应用程序时,我得到
有谁知道我做错了什么?
我已经在同样的事情上苦苦挣扎了好几个小时,试图让Gson jar继续工作。我终于破解了它 - 这是我采取的步骤:
确保
编辑:在Android Studio 3.0+中使用
做一个干净的构建(你可以在Android Studio中做到这一点,但要确保我在终端导航到我的应用程序的根文件夹并输入
在我完成上述四个之后,它开始正常工作。我认为'添加为库'步骤是我以前错过的那个步骤,直到我清理它之前它才行。
[编辑 - 添加
以下是将本地jar文件作为库添加到模块的说明:
在模块目录的顶层创建一个'libs'文件夹(包含'src'目录的同一目录)
1 2 3 4 | dependencies { // ... other dependencies compile files('libs/<your jar's name here>') } |
Android Studio应该已经设置了gradlew包装器。从命令行,导航到项目的顶级(具有
运行
为了让Android Studio在IDE中进行编码时将本地jar文件识别为支持库,您需要采取以下几个步骤:
4.1。右键单击左侧面板中的模块,然后选择
4.4。选择本地jar并将其添加到项目中。
您可能需要再次运行上面的
在项目中右键单击
1 2 3 4 | -> new -> module -> import jar/AAR package -> import select the jar file to import -> click ok -> done |
按照下面的屏幕截图:
1:
2:
3:
你会看到这个:
IIRC,仅仅使用"添加为库"还不足以使用该项目进行编译。
检查Intellij有关向项目添加库的帮助
你最感兴趣的部分是:
(In
File > Project Structure ) Open the module settings and select the Dependencies tab.On the Dependencies tab, click add and select Library.
In the Choose Libraries dialog, select one or more libraries and click Add Selected.
如果库未显示在对话框中,请将其添加到"库"设置中,位于"模块"下方。
您不应再需要添加
在Android Stuido中,我喜欢使用Gradle来管理Gson lib。
在build.gradle文件中添加以下依赖项。
1 2 3 | repositories {mavenCentral()} dependencies {compile 'com.google.code.gson:gson:2.2.4'} |
一切都好。
你也可以看到这篇文章。
在Android工作室中集成第三方库的最佳方式
所有这些解决方案都已过时。现在在Android Studio中非常简单:
文件>新模块......
下一个屏幕看起来很奇怪,就像你正在选择一些小部件或东西但保留它
在第一张图片和下面滚动并找到"导入JAR或.AAR包"
然后从文件菜单中取
Easy steps to add external library in Android Studio
If you are in Android View in project explorer, change it to Project view as below
Right click the desired module where you would like to add the external library, then select New > Directroy and name it as
'libs'Now copy the blah_blah.jar into the 'libs' folder Right click the blah_blah.jar, Then select 'Add as Library..'. This will automatically add and entry in build.gradle as compile
files('libs/blah_blah.jar') and sync the gradle. And you are donePlease Note : If you are using 3rd party libraries then it is better to use dependencies where Gradle script
automatically downloads the JAR and the dependency JAR when gradle
script run.Ex : compile 'com.google.android.gms:play-services-ads:9.4.0'
Read more about Gradle Dependency Mangement
'编译文件......'曾经为我工作,但不再是。经过多次痛苦,我发现使用它可以起作用:
我不知道为什么会有所作为,但是,至少该死的东西现在正在发挥作用。
我通过在build.gradle中添加一行来实现它:
1 2 3 4 | 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。
这解决了我的问题。试试,如果有人想要更多细节,请告诉我。
我发现Android Studio的Dependency Manager非常方便且功能强大,可用于管理第三方依赖项(如此处提到的gson)。提供适用于我的分步指南(注意:这些步骤在Windows平台上针对Android Studio 1.6和以后的版本进行了测试)。
步骤1:
转到"构建>编辑库和依赖关系..."它将打开对话框"项目结构"
第2步:
选择"app",然后选择"Dependencies"选项卡。然后选择"添加> 1库依赖项"
步骤3:
将显示"选择库依赖关系"对话框,在搜索中指定"gson"并按"搜索按钮"
第4步:
所需的依赖项将显示在搜索列表中,选择com.google.code.gson:gson:2.7(这是我写答案时的最新版本),按OK
在"项目结构"对话框中按 Gradle会相应地更新您的构建脚本。
希望这会有所帮助:)
1. Put the jar (in my case,
gson-2.2.4.jar ) into the libs folder.2. Ensure that compile files (
libs/gson-2.2.4.jar ) is in your build.gradle file.3. Now Click on the"Sync Project with Gradle files"(Left to AVD manager Button on the topbar).
在我完成上述三项工作后,它开始正常工作。
您可以使用两个选项执行此操作。
第一个简单方法。
将.jar文件复制到剪贴板,然后将其添加到libs文件夹。要查看项目中的libs文件夹,请从文件夹上方的组合框中选择项目。
然后右键单击.jar文件并单击add as a library然后选择一个模块然后
您可以在dependencies块中的build.gradle文件中看到.jar文件。
1 2 3 4 5 6 | 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文件 - >导入为.jar -
然后CTRL + ALT + SHIFT + S - >项目sturure - >选择你想要的模块添加一个jar - > Dependencendies - > Module Dependency。模块的build.gradle将自动更新。
下载&amp;将
1 2 3 4 | dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.google.code.gson:gson:2.3.1' } |
别忘了点击"立即同步"
我已经完成了3个步骤以及它的工作魅力。
(我使用的是Android Studio 2.1.2)
步骤1
-
将jar包名称(作为示例
compile 'com.squareup.okhttp3:okhttp:3.3.1' )添加到build.gradle(Module:app)下的gradle构建脚本中。
第2步:
右键单击app文件夹 - >新建 - >模块
第3步:单击Import JAR / .AAR Package然后浏览您的包。举个例子:OkHttp.jar
将
然后在应用程序的gradle文件中添加以下代码:
1 | compile fileTree(dir: 'libs', include: ['*.jar']) |
对于Android gradle插件3.0及更高版本,最好使用此代码:
1 | implementation fileTree(dir: 'libs', include: ['*.jar']) |
与Eclipse不同,我们不需要下载jar并将其放在/ libs文件夹中。 Gradle处理这些事情我们只需要添加Gradle依赖项,Gradle下载它并放入gradle缓存中。
我们需要添加依赖项:
依赖关系{implementation'command.google.code.gson:gson:2.2.4'}
而已
但是我们也可以下载jar&amp;将其添加为库,但最佳做法是添加Gradle依赖项。
使用Android Studio 3+:
您应该只需将jar文件复制到app文件夹下的libs文件夹即可。
... myproject app libs myfile.jar
然后从"项目"窗口的下拉列表中选择"项目文件",右键单击项目,选择"同步"以在"项目文件"中查看该文件。它会自动在gradle文件中添加依赖项(Module:app)。
1 2 3 | dependencies { ... implementation files('libs/myfile.jar') |
这是另一个解决方案:
转到"项目文件"视图(从下拉列表中选择"项目文件")。
选择New ... Directory,在app下创建一个名为libs的文件夹。
打开文件资源管理器,将jar文件复制并粘贴到libs文件夹中。
在Android Studio中,右键单击jar文件,然后从弹出菜单中选择Add as a Library ....
您应该在gradle文件中看到依赖项列表中列出的文件:
1 2 3 4 | dependencies { ... implementation files('libs/myfile.jar') } |
打开你的java文件,然后在那里添加import语句:
1 | import com.xxx.xxx; |
1 2 | menu File -> project struct -> module select"app" -> dependencies tab -> + button -> File dependency -> PATH/myfile.jar |
第1步:现在在你的
第2步:
第3步:现在您应该在libs文件夹下看到jar文件,右键单击jar文件并选择
第4步:现在添加了这个罐子。
我已经阅读了这里的所有答案,它们似乎都涵盖了旧版本的Android Studio!
使用Android Studio 2.2.3创建的项目,我只需要在
我是通过我的文件管理器完成的,无需在Android Studio中单击或编辑任何内容。
为什么会这样?打开构建/编辑库和依赖项,您将看到:
1 | {include=[*.jar], dir=libs} |
在android Studio 1.1.0中。
我通过以下步骤解决了这个问题:
1:将jar文件放入libs目录。 (在Finder中)
2:打开模块设置,转到依赖关系,在左下角有一个加号按钮。单击加号按钮,然后选择"文件依赖关系"。这里你可以看到你的jar文件。选择它并解决它。
创建一个文件夹库。添加.jar文件。右键单击它,你会发现添加jar作为依赖。点击它。这就是你需要做的一切。
您可以找到添加到build.gradle文件的依赖项。
1)在Project / app / src文件夹中创建一个'your_libs'文件夹。
2)将您的jar文件复制到此'your_libs'文件夹中
3)在Android Studio中,转到文件 - >项目结构 - >依赖项 - >添加 - >文件依赖项并导航到您的jar文件,该文件应位于'src / your_libs'下
3)选择您的jar文件并单击"确定"
然后你可以在你的build.gradle上看到这样的:编译
文件( 'SRC / your_libs / your.jar')
在Mac OS X上:
添加jar作为库(将jar拖到libs,右键单击add as lib)
将编译语句添加到
安装
- brew安装gradle
- gradle -v
- 如果不是v1.6,升级自制程序
gradle clean(重建android没有用)
这把我排除在外。
对于较新的Android 1.0.2,您的build.gradle文件中已经存在以下内容
1 | implementation fileTree(include: ['*.jar'], dir: 'libs') |
将库jar添加到libs文件夹 - >右键单击库 - >单击添加为库 - >它会询问您要添加项目的项目 - >选择项目 - >单击确定
以下行自动添加到build.gradle
1 | implementation files('libs/android-query.jar') |
这样做对我来说。没有必要了。我已经为android aquery展示了另一个用于android的第三方库。
我观察到CTRL + ALT + SHIFT + S - >项目结构 - > app-module - > Dependencies"最初在
在Android Studio 2.1中我按照这种方式,
转到应用程序 - > src-> main - > assets文件夹(如果不可用则创建它) - >放入你的JAR文件
在build.gradle中添加依赖项,
1 2 3 4 | 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文件已准备好使用。
像之前指出的许多人一样,你要加上
1 | compile files('libs/gson-2.2.3.jar') |
到您的build.gradle文件。
但是我在Android Studio中有一个从Eclipse迁移的项目,在这种情况下,"libs"文件夹名为"lib",所以对我来说删除"s"解决了这个问题。
我的答案基本上是收集上面提供的一些正确但不完整的答案。
添加以下内容:
1 2 3 4 5 | dependencies { compile 'com.android.support:appcompat-v7:19.+' compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.code.gson:gson:2.3' } |
这将允许支持两种不同的添加依赖项的方法。
但这也将允许支持Maven依赖。 compile
PS:我同时使用两者
做这个 :
在应用程序文件夹下创建libs文件夹。
将.jar文件添加到libs文件夹。
然后将.jar文件添加到app的build.gradle依赖项中。
最后使用Gradle文件同步项目。
我不知道为什么但是当我尝试使用Gradle实现这些解决方案时,我的Android Studio 0.8.14会变得疯狂。我承认我对这个伟大的构建工具知之甚少,但是Studio为什么会破坏我的项目?我设法让它以这种方式工作:将android-support-v13.jar放入'libs'目录,然后将F4放入我的项目并添加File dependency,我指向android-support-v13.jar。
在我的情况下,添加的库错过了一些依赖项,但不幸的是Android Studio(0.8.14)将此作为一个秘密。
没有必要手动配置任何东西!我刚刚添加了缺少的库,并在app
1 2 3 4 | dependencies { compile 'com.google.code.gson:gson:2.+' compile fileTree(dir: 'libs', include: ['*.jar']) } |