Android开发问题,怎样在Android studio里面studio 导入jarr包呢

»»如何在Android Studio项目中导入开源库?
  前两天,谷歌发布了Android Studio 1.0的正式版,也有更多的人开始迁移到Android Studio进行开发。然而,网上很多的开源库,控件等还是以前的基于Eclipse进行开发,很多人不知道怎么导入到自己的基于Android Studio项目中来,微博上也有人私信我,让我来写写,正好今天回来的比较早,就写写吧。主要介绍一下常见的一些导包的场景。
--project //项目目录
build.gradle //项目的gradle配置文件
settings.gradle //gradle设置,会保存所有的module
app //module 目录
|__build.gradle module的配置
module2 //module2目录
|__build.gradle module的配置
  同eclipse中的项目一样,gradle/android studio 构建也可以有module,将moudle放到项目目录下面,然后在settings.gradle中增加该module,最简单的方法是用文件夹名。比如我们上面的结构,build.gradle文件应该如下:
include ':app', ':module2'
  更多关于gralde的知识可以看我以前的文章:
  导入Jar文件
  这种可能很常见,可以下载到别人搞好的jar包,这样可以直接在自己的主module下创建libs文件夹(我这里这样,只是为了兼容eclipse方式),然后把jar文件放进去,然后在module的build.gradle文件中的dependecies{}添加如下代码:
compile files('libs/name.jar')
  当libs文件夹下面有多个文件时,可以用一句代码包含这些包:
compile fileTree(dir: 'libs', include: ['*.jar'])
  当有文件不需要被包含时,可以这样:
compile fileTree(dir: 'libs', exclude: ['android-support*.jar'], include: ['*.jar'])
  从上面的代码中可以看到我们可以使用通配符, +表示一个字符,*表示0到多个字符。
  导入maven中的库
  如果开源库作者有将代码放到Maven库中,我们可以在gradle配置中直接引入,类似如下:
compile 'com.github.dmytrodanylyk.android-process-button:library:1.0.1'
  一般我们可以在开源库的github页面上面看有没有这样一个地址,或者到maven库中根据包名搜索有没有,我们前面这个引入的项目分三个部分 group:name:version,我们引入其他的包也有遵守这个规则。
  导入gradle构建的开源库
  这种情况的比较少用到,因为这张的开源库,作者一般都有放到maven库中,但是偶尔也会用到这里也提一下。
  首先下载文件,将我们需要的这个库的module文件夹拷贝到我们的项目的目录下面,然后在setting.gradle文件中增加文件夹名称, 然后在我们需要依赖这个模块的module中的build.gradle文件中加入如下代码:
compile project(':libmodule')
  这样就可以了。
  导入基于Eclipse构建的开源库
  基于Eclipse构建的项目,和基于Android Studio构建的项目的很大区别是目录结构不同。我们首先将module文件夹拷贝到我们的项目目录下面,然后在settings.gradle文件中增加这个module,然后在要使用的module中的build.gradle文件中引入依赖,这样看的话,似乎和引入基于gradle构建的没什么不同。但是,基于Eclipse构建的项目中,没有build.gradle文件,所以我们需要自己新建一个放到module下面,下面是一个模版:
apply plugin: 'android-library'
repositories {
mavenCentral()
compileSdkVersion 19
buildToolsVersion &20.0.0&
defaultConfig {
minSdkVersion 9
targetSdkVersion 19
sourceSets {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
lintOptions {
abortOnError false
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
  当然,根据各自的sdk和buildtools版本等等,以及其他,配置会有变化,可以看我之前的文章。
  以上就是主要的集中导入场景,自己可以根据自己的实际情况然后改变配置等等。
  另外,我们导入的仓库可能不是maven中心仓库,或者可能是我们自己搭建的仓库,我们可以自定义仓库地址的,修改build.gradle文件中的repositories就可以了,例如:
buildscript {
repositories {
mavenCentral()
url &https://oss.sonatype.org/content/repositories/snapshots&
  另外,project层的buildscript在module层也是会生效的,所以不用在每个module都配置。
验证消息:Admin10000
提示:常上QQ空间的朋友可关注,精彩内容不错过。
理智评论文明上网,拒绝恶意谩骂 发表评论 / 共0条评论
登录会员中心Android Studio导入Eclipse项目和一些常见的问题 - 推酷
Android Studio导入Eclipse项目和一些常见的问题
Android Studio版本
Eclipse项目工程:一个主工程,一个Emojicon依赖库。
有两种方式导入Eclipse工程:
1、兼容Eclipse
2、全新的Android Gradle Project
Google推荐用全新的方式,所以此处不介绍兼容模式导入。
请先关闭Android Studio当前的Project,否则你看不到Import Project。
选择“Import project(Eclipse ADT, Gradle, etc.)”,定位到你所需要导入的工程的主目录。由于主目录和Emojicon有依赖关系,Android Studio会自动关联进来。然后指定一个保存的目录,点击Next。
默认情况下,下面的选项会打上勾(如果没有勾上,手动勾上),直接Finish就行了。
一段时间转换后,你将看到以下的结构
我把主工程的名称隐藏了,此时可以看到,Emojicon确实导进来了。不过Emojicon下的java目录是我后面加进来的,默认导入时这个文件夹不存在,为什么?往下看。
Android Studio导入完毕后,会默认在窗口中打开这个import-summary.txt文件,里面记录了导入的一些注意事项。这个文件有几个需要注意的节点,如下:
Manifest Merging
Ignored Files
Replaced Jars with Dependencies
Manifest Merging中的文字如下,也就是描述你的清单文件,基本上不用管。
Your project uses libraries that provide manifests, and your Eclipse
project did not explicitly turn on manifest merging. In Android Gradle
projects, manifests are always merged (meaning that contents from your
libraries' manifests will be merged into the app manifest. If you had
manually copied contents from library manifests into your app manifest
you may need to remove these for the app to build correctly.
Ignored Files,这个部分很重要。它表示Android Studio在导入项目的时候把这些文件忽略了,如果需要的话,你得手动拷贝进来。因为主工程依赖Emojicon,所以把这个文件拷贝到相应的位置即可。
The following files were *not* copied into the new G you
should evaluate whether these are still needed in your project and if
so manually move them:
From Emojicon:
* .gitignore
* java\com\
* java\com\rockerhieu\
* java\com\rockerhieu\emojicon\
* java\com\rockerhieu\emojicon\EmojiAdapter.java
* java\com\rockerhieu\emojicon\EmojiconEditText.java
* java\com\rockerhieu\emojicon\EmojiconGridFragment.java
* java\com\rockerhieu\emojicon\EmojiconHandler.java
* java\com\rockerhieu\emojicon\EmojiconSpan.java
* java\com\rockerhieu\emojicon\EmojiconTextView.java
* java\com\rockerhieu\emojicon\EmojiconsFragment.java
* java\com\rockerhieu\emojicon\emoji\
* java\com\rockerhieu\emojicon\emoji\Emojicon.java
* java\com\rockerhieu\emojicon\emoji\Nature.java
* java\com\rockerhieu\emojicon\emoji\Objects.java
* java\com\rockerhieu\emojicon\emoji\People.java
* java\com\rockerhieu\emojicon\emoji\Places.java
* java\com\rockerhieu\emojicon\emoji\Symbols.java
Replaced Jars with Dependencies,提示你原来的jar包在Android Studio项目中会以何种方式存在。
The importer recognized the following .jar files as third party
libraries and replaced them with Gradle dependencies instead. This has
the advantage that more explicit version information is known, and the
libraries can be updated automatically. However, it is possible that
the .jar file in your project was of an older version than the
dependency we picked, which could render the project not compileable.
You can disable the jar replacement in the import wizard and try again:
android-support-v4.jar =& com.android.support:support-v4:22.2.1
以前的libs文件夹哪里去了呢?
右击你的Module,Open Module Settings,显示如下:
其实Android Studio可以添加在线的库和jar,看到Maven Central字样了吧?相应的Jar会按需下载。
至此,项目可以build了。想运行成功,还没那么容易。
Error:duplicate files during packaging of APK ........
说是duplicate files copied in APK META-INF/NOTICE.txt
duplicate files copied in APK META-INF/LICENSE.txt
解决办法:在你的module下的build.gradle中的android节点中添加packagingOptions
packagingOptions{
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE.txt'
还有一个错误提示: Manifest merger failed with multiple errors, see logs
Suggestion: add ‘tools:replace=”android:icon”‘ to &application& element at AndroidManifest.xml:24:5 to override
原因:Android Studio默认使用Manifest Merger Tool,如果Library项目也定义了与主项目相同的属性(如默认生成的android:icon, android:theme),则会合并失败。
解决1:在AndroidManifest.xml节点manifest中引入
xmlns:tools=&/tools&
然后在application节点添加
tools:replace=&android:icon&
或需要屏蔽theme,中间用逗号隔开。
tools:replace=”android:icon, android:theme”
解决2:在build.gradle根标签上加上useOldManifestMerger true,不过在Android Studio 2.0中提示找不到这个useOldManifestMerger ,不知是改进过了还是用了其它的字段(此法有问题,有谁知道为什么么?)。
useOldManifestMerger true
请参考官方介绍:
顺利的话,基本上就是这两个问题,然后就可以run了。
已发表评论数()
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
没有分页内容
图片无法显示
视频无法显示
与原文不一致在Android Studio项目中导入开源库详细步骤教程-安卓教程-手机开发-壹聚教程网在Android Studio项目中导入开源库详细步骤教程
现在大部分人开发Android应用是在Android Studio上进行,不过以前网上很多的开源库,控件等还是以前的基于Eclipse进行开发,很多人不知道怎么导入到自己的基于Android Studio项目中来本文详细介绍一下。
本文我们将详细介绍基于Eclie的开源库如何导入Android Studio项目中。前言&&& --project //项目目录 &&& | &&& build.gradle //项目的gradle配置文件 &&& | &&& settings.gradle //gradle设置,会保存所有的module &&& | &&& app //module 目录 &&& |__build.gradle module的配置 &&& | &&& module2 //module2目录 &&& |__build.gradle module的配置 同eclipse中的项目一样,gradle/android studio 构建也可以有module,将moudle放到项目目录下面,然后在settings.gradle中增加该module,最简单的方法是用文件夹名。比 如我们上面的结构,build.gradle文件应该如下:&&&
':app', ':module2' 更多关于gralde的知识可以看我以前的文章:使用gradle构建android项目(续)使用Gradle构建Android项目导入Jar文件这种可能很常见,可以下载到别人搞好的jar包,这样可以直接在自己的主module下创建libs文件夹(我这里这样,只是为了兼容eclipse方式),然后把jar文件放进去,然后在module的build.gradle文件中的dependecies{}添加如下代码:&&& compile files('libs/name.jar') 当libs文件夹下面有多个文件时,可以用一句代码包含这些包:&&& compile fileTree(dir: 'libs', include: ['*.jar']) 当有文件不需要被包含时,可以这样:&&& compile fileTree(dir: 'libs', exclude: ['android-support*.jar'], include: ['*.jar']) 从上面的代码中可以看到我们可以使用通配符, +表示一个字符,*表示0到多个字符。导入maven中的库如果开源库作者有将代码放到Maven库中,我们可以在gradle配置中直接引入,类似如下:&&& compile 'com.github.dmytrodanylyk.android-process-button:library:1.0.1' 一般我们可以在开源库的github页面上面看有没有这样一个地址,或者到maven库中根据包名搜索有没有,我们前面这个引入的项目分三个部分 group:name:version,我们引入其他的包也有遵守这个规则。导入gradle构建的开源库这种情况的比较少用到,因为这张的开源库,作者一般都有放到maven库中,但是偶尔也会用到这里也提一下。首先下载文件,将我们需要的这个库的module文件夹拷贝到我们的项目的目录下面,然后在setting.gradle文件中增加文件夹名称, 然后在我们需要依赖这个模块的module中的build.gradle文件中加入如下代码:&&& compile project(':libmodule') 这样就可以了。导入基于Eclipse构建的开源库基于Eclipse构建的项目,和基于Android Studio构建的项目的很大区别是目录结构不同。我们首先将module文件夹拷 贝到我们的项目目录下面,然后在settings.gradle文件中增加这个module,然后在要使用的module中的build.gradle文 件中引入依赖,这样看的话,似乎和引入基于gradle构建的没什么不同。但是,基于Eclipse构建的项目中,没有build.gradle文件,所 以我们需要自己新建一个放到module下面,下面是一个模版:&&& apply plugin: 'android-library' &&& repositories { &&& mavenCentral() &&& } &&& android { &&& compileSdkVersion 19 &&& buildToolsVersion &20.0.0& &&& defaultConfig { &&& minSdkVersion 9 &&& targetSdkVersion 19 &&& } &&& sourceSets { &&& main { &&& manifest.srcFile 'AndroidManifest.xml' &&& java.srcDirs = ['src'] &&& resources.srcDirs = ['src'] &&& aidl.srcDirs = ['src'] &&& res.srcDirs = ['res'] &&& assets.srcDirs = ['assets'] &&& jniLibs.srcDirs = ['libs'] &&& } &&& } &&& lintOptions { &&& abortOnError false &&& } &&& } &&& dependencies { &&& compile fileTree(dir: 'libs', include: ['*.jar']) &&& } 当然,根据各自的sdk和buildtools版本等等,以及其他,配置会有变化,可以看我之前的文章。其他以上就是主要的集中导入场景,自己可以根据自己的实际情况然后改变配置等等。另外,我们导入的仓库可能不是maven中心仓库,或者可能是我们自己搭建的仓库,我们可以自定义仓库地址的,修改build.gradle文件中的repositories就可以了,例如:&&& buildscript { &&& repositories { &&& jcenter() &&& mavenCentral() &&& maven { &&& url &https://oss.sonatype.org/content/repositories/snapshots& &&& } &&& } &&& } 另外,project层的buildscript在module层也是会生效的,所以不用在每个module都配置。Android Studio如何导入jar,so,以及第三方的开源库?问:在Github上的许多活跃项目已经开始采用Android Studio编写了,看来这场趋势已经无法阻挡。所以我也开始从Eclipse阵营转入Studio。刚开始玩Studio各种不适应,希望各位大大能给个详细的教程。。。回答一:一般用eclipse生成的项目,导入android studio都会有各种问题,不过要解决也不难,简单几步设置就可以了,说几个比较常用的步骤:1.导入主项目之后,需要在File -& project strucure的modules选项设置好各种路径,比如你的src、libs、gen、bin、AndroidManifest.xml的路径等等2.在eclipse里的project,在as上就变成module了,所以要用import module的方式引入库项目,之后可能也要重复步骤1给库项目设置好路径3.jar文件还是放在libs文件夹,然后需要在project strucure里的libraries选项引入进来4.库项目和各种jar都导进来了,但是主项目还是报错,这可能是因为主项目和这些库文件的依赖关系没关联好,还是project strucure的主项目里面,选择dependencis,把需要用到的module和library都添加进来所以关键还是在对project strucure的设置 :)另一种用Guide构建的项目,好处什么的就不细说了,网上一搜一大把,教程可以看android官网的使用指南,有兴趣可以了解下回答二:一般 Android 项目从 Eclipse 导入至 Android Studio(以下简称AS) 后,会出现各种问题,最主要的就是 “gradle” 目前为止还不支持 .so 库文件打包入 apk 。也就是说,如果你用的第三方库中包含 .so 文件 (一般是 libs\armeabi\ xxx.so ) , 那么只要在代码中出现 “System.loadLibrary( &xxx& ) ; 等代码出现,一定会在这里抛出异常 UnsatisfiedLinkError 。解决方案如下: 根据我 Google 了2天的结果,一个比较满意且所有出现这个问题的人都可行的方案是:1) 在硬盘任意位置建立空文件夹 &lib& (注意名字是 &lib& 而不是 &libs& )2) 把原来的 libs 目录下的 armeabi 文件夹拷贝至 刚建立的 lib 目录下. (armeabi文件夹中的.so文件也会被一并拷入)3) 将刚建立的 &lib& 目录打包压缩成 .zip 文件, 同时改名为 “armeabi.jar&4) 将 armeabi.jar 放入原来的 libs 目录下 (和其他第三方jar包放在一起)经过这4步之后,只需要再重新更新下AS的第三方库,就OK了 .
上一页: &&&&&下一页:相关内容Android Studio中如何打JAR包 - 简书
下载简书移动应用
写了35549字,被556人关注,获得了688个喜欢
Android Studio中如何打JAR包
Android Studio中对于library类型的Moudle,默认打出来的是AAR包,但有时候我们的SDK还需要共享给一些其他eclipse的项目使用,这样我们就需要输出JAR包,可以通过在Moudle中的build.gradle加入task来实现
task makeJar(type: Copy) {
delete 'build/libs/mysdk.jar'
from('build/intermediates/bundles/release/')
into('build/libs/')
include('classes.jar')
rename ('classes.jar', 'mysdk.jar')
makeJar.dependsOn(build)
在终端执行生成JAR包
./gradview makeJar
在以下目录就可以找到我们生成的JAR包
本文出处:转载请在开头注明本文出处。
欢迎关注我的微信公众号,分享Swift开发,Android 开发和互联网内容微信号:
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
被以下专题收入,发现更多相似内容:
Android老鸟给新人的建议、资源。
· 7388人关注
Android Studio 使用介绍
· 924人关注
Android studio
· 88人关注
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
选择支付方式:}

我要回帖

更多关于 studio导入jar包 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信