用android studiolaravel 引入第三方类so库,怎么调不了方法

超详细图文讲解android studio导入第三方类库的方法
超详细图文讲解android studio导入第三方类库的方法
[摘要:android studio若何导进jar包战.so文件正在我之前的专客中皆已细致解释过,
android studio若何导进jar包:http://blog.csdn.net/qiang_xi/article/details/ ]
android studio如何导入jar包和.so文件在我之前的博客中都已经详细说明过,
android studio如何导入jar包:http://blog.csdn.net/qiang_xi/article/details/&第6点有说明
android studio如何导入.so文件:http://blog.csdn.net/qiang_xi/article/details/& 第1点就是
下面图文说明如何导入第三方类库,一般这些类库都是从gutHub上下载的,是一个项目,不是jar包,我们要把这个类库以module的形式添加到我们的项目中,最终的目的还是能达到jar包的效果,即使用类库里已经写好的方法,
先看一下原始的目录结构,
原始目录结构里只有1个app module,我们的java代码也都写在这个module里,
下面以导入&android-async-http-master类库为例来演示具体的操作:
1,其实android studio已经给出导入module的选项,我现在android studio的版本是1.3,
所以直接通过android studio给出的导入方式导入即可.
2,第一步完成之后,是这个样子:
然后点击右边的三个点选择要添加的module,即android-async-http-master,这里第三方类库放哪都行,没啥要求,一些注意点都在截图上标明了,如下:
然后点击finish,让android studio自己去匹配
3,第2步点击finish之后,如果你不幸,就会出现下面的一个错误,我就碰到了,
这个错误意思就是:不能读取"E:\workspace\Test\目录下的maven_push.gradle'脚本,因为它不存在,
OK,知道原因,我们点击下面的open File,
进入如下界面:
把该界面拉到最下面,有一行代码,图中我已经用红框标出来了,我们把它注释掉,然后点击这个界面上方的try Again,如下:
4,上一步完成之后,如果你不幸,又会碰到如下错误,同样我也碰到了
如果你的build tools版本有19.1.0,应该不会有这个错误,如果发生这个错误,有两种解决办法,
1,点击下面的Install Build Tools 19.1.0 and sync project,进行安装,安装完毕,然后再try again,
2,手动修改build tools版本,还是第3步的那个build.gradle文件,在上面有如下代码,我已经用红框标注了:
把标注的地方都换成当前自己sdk里存在的版本号,我这里为22和22.0.1,换好之后如下:
然后再次点击try again,
会发现还是报如下错误,
这是因为我们导入类库的时候,同时导入了两个module,就是第2步导入的两个,上面第3步的build.gradle是library的build.gradle,而这次报错的是sample的build.gradle,所以我们把sample的build.gradle的文件打开,会发现该文件里也有版本信息,同时也发现该文件报了一个错,如下:
我们先把相关的版本信息修改过来,还是22和22.0.1,上面报错的原因是You must use a newer version of the Android Gradle plugin. The minimum supported version is 1.0.0 and the recommended version is 1.2.3 less... (Ctrl+F1),意思就是说你需要更新gradle的版本,其实我们的gradle版本一般都不低,那么怎么知道自己的gradle版本是多少呢?
其实也很简单,打开我们项目的build.gradle,注意不是module的,有如下代码,已经用红框标出,后面的1.2.3就是我们自己的gradle版本号,
ok,gradle版本号和项目的版本号修改完毕后是这个样子
完成之后,再次点击try again,
5,完成第4步之后,就没有报错了,说明我们导入module大功告成,
ok,我们在代码中试试看能不能用这个类库的相关类,结果你会发现,并不能使用类库的相关方法,难道是我们操作错误?其实并不是,我们还有最后一步没有完成,那就是把我们导入的两个module添加到项目的主module里,即app module里,具体操作为:
右键app module,选择open module settings,
或者点击如下图标
进入如下界面:
选中&app&,如下:
点击右边的&+&号,选中第三个,如下
弹出如下界面:
把上面的两个module都导入到app module里,完成之后如下图
ok,所有任务都完成,我们看看能不能使用类库的相关方法,
ok,能使用,到此,android studio导入第三方类库的方法演示完毕,
总结:这篇博客演示的是android-async-http-master类库的导入方式,可能你会导入其他的第三方类库,所以你可能会碰到上文中没有遇到的错误,不过我认为通过上文介绍的方式来导入类库,应该是最能让人适应的,并且遇到的错误大致有以下几种:1,就是第三步里的错误,这个错误,只要按照上述的方法解决就可以了,2,就是项目版本错误,这个错误的原因主要是因为我们新建项目时使用的sdk版本和导入的第三方类库使用的sdk版本不一致,只要让类库的sdk版本服从我们项目的sdk版本即可,3,gradle版本问题,这个问题一般遇到的话,只要按错误提示修改即可,去gradle官网下载错误提示中要求的版本就能解决.
感谢关注 Ithao123Android频道,是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
IThao123周刊如何在Android Studio项目中导入开源库?
发表于 13:30|
来源Sam的博客|
作者Sam的博客
摘要:谷歌发布了Android Studio 1.0的正式版,更多的人开始迁移到Android Studio进行开发。然而,网上很多的开源库控件等还是以前基于Eclipse进行开发的,很多人不知道怎么导入到自己的基于Android Studio项目中来。
由 CSDN、腾讯、腾讯云、腾讯基金会主办的“” (Open Source Technology Conference,简称OSTC)将于日在北京召开。前两天,谷歌发布了 Android Studio 1.0的正式版,也有更多的人开始迁移到 Android Studio 进行开发。然而,网上很多的开源库,控件等还是以前的基于 Eclipse 进行开发,很多人不知道怎么导入到自己的基于 Android Studio 项目中来,这里主要介绍一下常见的一些导包的场景。前言同 Eclipse中的项目一样,gradle/android studio 构建也可以有 module,将 moudle放到项目目录下面,然后在 settings.gradle 中增加该 module,最简单的方法是用文件夹名。比如我们上面的结构,build.gradle文件应该如下:导入 Jar 文件这种可能很常见,可以下载到别人搞好的 Jar 包,这样可以直接在自己的主 module 下创建 libs 文件夹(我这里这样,只是为了兼容 Eclipse 方式),然后把 Jar 文件放进去,然后在 module 的 build.gradle 文件中的 dependecies{} 添加如下代码:当 libs 文件夹下面有多个文件时,可以用一句代码包含这些包:当有文件不需要被包含时,可以这样:从上面的代码中可以看到我们可以使用通配符,+表示一个字符,*表示0到多个字符。导入 Maven 中的库如果开源库作者有将代码放到 Maven 库中,我们可以在 gradle 配置中直接引入,类似如下:一般我们可以在开源库的 Github 页面上面看有没有这样一个地址,或者到maven库中根据包名搜索有没有,我们前面这个引入的项目分三个部分 group:name:version,我们引入其他的包也有遵守这个规则。导入gradle构建的开源库这种情况的比较少用到,因为这张的开源库,作者一般都有放到maven库中,但是偶尔也会用到这里也提一下。首先下载文件,将我们需要的这个库的 module 文件夹拷贝到我们的项目的目录下面,然后在setting.gradle 文件中增加文件夹名称,然后在我们需要依赖这个模块的 module 中的 build.gradle 文件中加入如下代码:这样就可以了。导入基于 Eclipse 构建的开源库基于 Eclipse 构建的项目,和基于 Android Studio 构建的项目的很大区别是目录结构不同。我们首先将 module 文件夹拷贝到我们的项目目录下面,然后在 settings.gradle 文件中增加这个module,然后在要使用的 module 中的 build.gradle 文件中引入依赖,这样看的话,似乎和引入基于gradle 构建的没什么不同。但是,基于 Eclipse 构建的项目中,没有 build.gradle 文件,所以我们需要自己新建一个放到 module 下面,下面是一个模版:当然,根据各自的 sdk 和 buildtools 版本等等,以及其他,配置会有变化,可以看我之前的文章。其他以上就是主要的集中导入场景,自己可以根据自己的实际情况然后改变配置等等。另外,我们导入的仓库可能不是 maven 中心仓库,或者可能是我们自己搭建的仓库,我们可以自定义仓库地址的,修改 build.gradle 文件中的 repositories 就可以了,例如:另外,project 层的 buildscript 在 module 层也是会生效的,所以不用在每个 module 都配置。(文章转载自)
推荐阅读相关主题:
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章下次自动登录
现在的位置:
& 综合 & 正文
AndroidStudio下使用百度地图API引入jar包和so文件路径问题
最近开发使用到百度地图API,因为使用的是AndroidStudio的IDE,和官网示例使用的eclipse不一样,导致中间出现蛋疼的路径问题,网上找了半天才解决,现在写在这里供其他受害者借鉴。
官网上路径设置是:
armeabi文件夹是在libs之下,但是重点是:AndroidStudio的文件路径是不一样的!
AndroidStudio中是:
jar包的位置和官网一致,但是so文件的位置不同,应该单独在main下创建一个jniLibs文件夹,再在其下创建一个armeabi文件夹,so文件置于其中,这样,工程编译就不会报错了。
&&&&推荐文章:
【上篇】【下篇】glblong 的BLOG
用户名:glblong
文章数:210
评论数:40
访问量:356115
注册日期:
阅读量:5863
阅读量:12276
阅读量:331244
阅读量:1037827
51CTO推荐博文
方法一:将libs文件夹下的so文件,通过gradle配置任务编译成jar文件。apply&plugin:&'com.android.library'
&&&&compileSdkVersion&pileSdkVersion
&&&&buildToolsVersion&rootProject.ext.buildToolsVersion
&&&&defaultConfig&{
&&&&&&&&minSdkVersion&rootProject.ext.minSdkVersion
&&&&&&&&targetSdkVersion&rootProject.ext.targetSdkVersion
&&&&/**&导入so文件&*/
&&&&task&nativeLibsToJar(type:&Zip,&description:&"create&a&jar&archive&of&the&native&libs")&{
&&&&&&&&destinationDir&file("$projectDir/libs")
&&&&&&&&baseName&"Native_Libs2"
&&&&&&&&extension&"jar"
&&&&&&&&from&fileTree(dir:&"libs",&include:&"**/*.so")
&&&&&&&&into&"lib"
&&&&tasks.withType(JavaCompile)&{
&&&&&&&&compileTask&-&&compileTask.dependsOn(nativeLibsToJar)
dependencies&{
&&&&provided&fileTree(dir:&'libs',&include:&['*.jar'])
}参考资料:http://blog.csdn.net/wulianghuan/article/details/方法二:通过插件将so文件依赖到jniLibs文件夹。参考资料:/a/anzhuokaifa/Android_Studio/56.html插件/开源项目 :/nhachicha/android-native-dependencies方法三:最佳方法。android&{
&&&&sourceSets.main.jniLibs.srcDirs&=&['libs']
&&&&compileSdkVersion&pileSdkVersion
&&&&buildToolsVersion&rootProject.ext.buildToolsVersion
&&&&defaultConfig&{
&&&&&&&&minSdkVersion&rootProject.ext.minSdkVersion
&&&&&&&&targetSdkVersion&rootProject.ext.targetSdkVersion
}本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)Android Studio导入第三方类库的方法
本人也刚刚开始尝试做android app的开发,听说android studio是Google支持的android 应用开发工具,所以想应该肯定比Eclipse好用吧,反正以前没有java开发经验,索性就从android studio开始学,以前一直是做.net的开发,最近使用了Eclipse,Android Studio之后发现Visual studio.net正式太好用了,不得不说微软的开发工具做的比谁都好。下面是我在使用Android Studio应用第三类库刚开始的时候走了不少弯路,所以写下来给和我一样的初学者,分享一下
导入*.jar包
新建好了Android项目,添加一个第三方已经打包好的jar文件进你项目,下面就已添加一个odata4j的一个包
在项目中添加一个libs文件
直接通过COPY/PAST 把你下载的jar文件添加到libs文件夹下
然后在libs文件夹和添加的*.jar文件下鼠标单击菜单 add as library
然后在选择项目单击Open Module Settings,在Dependencies中选择添加文件
这样就完成了jar文件添加
打开App目录下有个build.gradle文件应该项目结构文件,上述的动作只是为了在在文件下添加
dependencies {
compile files('libs/android-support-v13.jar')
compile files('libs/odata4j-0.7.0-clientbundle.jar')
导入第三方java类库含源代码包
下面演示如何在本项目中导入第三方的源代码类库,这里例子是导入Httpzoid一个json http client类库
先从github上下载zip包解压后把Httpzoid目录copy到你项目的目录下
添加后android studio的项目下会自动出现这个目录
接下来需要手工修改项目跟目录下settings.gadle 添加
include ':App',':Httpzoid'
这里必须手工修改没有其他方法
然后在打开App/build.gradle这个文件,添加
dependencies{
compile project(':Httpzoid')
这是你在打开Open Module Settings就可以看到,已经导入httpzoid的类库
但是编译肯定还是会错误的
还必须在项目Httpzoid目录下添加一个build.gradle的这个文件,内容如下
buildscript {
repositories {
mavenCentral()
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
apply plugin: 'android-library'
repositories {
mavenCentral()
compileSdkVersion 18
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 18
sourceSets {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile files('libs/gson-2.2.4.jar')
这是后编译还会有可能报错
这时候可能需要修改一下Httpzoid目录下的AndroidManifest.xml文件有可能存在和你项目中文件有冲突或版本跨度太大导致语法的错误修改一下
做完以上几步基本上就可以便宜成功了
最后吐槽一下
Java的IDE开发工具真的很搓和Visual Studio.net没法比;最糟糕的就是Debug,显示的都是内存地址而不是值,Debug异常也不会自动停止在出错的代码行。
阅读(...) 评论()

我要回帖

更多关于 android studio引入v7 的文章

 

随机推荐