AndroidStudio如何引入so包

先说前提条件,我的AndroidStudio版本是2.2 Preview 3,版本是2.1的同学应该也是一样的。

然后说结论吧,有些同学可能赶着做项目:

结论:

so包应该放在相应模块(比如app模块)下的src目录下的main目录下的jniLibs目录。

注意是jniLibs,最后边有个s,不是jniLib,并且L要大写。如果你在src/main目录中看不到jniLibs目录,那你只需要自己建一个这个目录就可以了,然后把你的so包按编译平台分类拷贝进去就可以了。然后呢?然后就完了,就这样就可以了,因为系统默认就会去这个目录中找对应的so包。如下图所示:

接下来有兴趣的同学可以了解下为什么是这样。

也许有人说,so包应该跟jar包一样呗,放在对应模块的libs目录下,eclipse就是这样的。有这么简单吗?答案是:NO

原理:

其实在AndroidStudio中,我们之所以可以把jar包放在对应模块的libs目录下,比如app模块(也就是通常意义下的主工程了)的libs目录中,而不需要再去配置build.gradle文件,就可以正常使用这些jar包,是因为在AndroidStudio中新建项目时,系统已经在默认为我们配置好了gradle,如果仔细看模块下的build.gradle文件的话,一般会有这么一句:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

看到了吧,这句就是告诉gradle,我们的第三方jar包在libs目录下,如果没有这一行配置,那么理论上我们把jar包直接放在libs目录下其实是不行的,只不过新建项目时系统已经为我们配好了。这里libs是个相对路径,因为我们的build.gradle文件本身就在app模块下,那么这里的libs当然也就是指app模块下的libs,其实build.gradle文件中所有的路径都可以写相对路径,我们下边讲的so包的路径也是只写相对路径就可以了。

OK,言归正传,现在知道jar包的引入原理了,那么so包为什么要放在那么奇怪的目录下?能不能放在任意一个自定义的目录呢?当然是可以的。

其实在build.gradle中,默认会有一些这样的配置:

sourceSets {
    main {
        jniLibs.srcDirs = ['src/main/jniLibs']
        aidl.srcDirs = ['src/main/aidl']
    }
}

这些配置在你新建工程之后,在build.gradle文件中默认是没有的,因为默认就是这样的,当然也就不写也可以,当然你写出来也没错。意思是so包就去src/main/jniLibs目录下找,aidl文件默认就到src/main/aidl目录下找。。。当然还有许多其它的配置,你还可以配置你的AndroidManifest.xml文件在哪里,还可以配置你的java代码在哪里,如果你不配的话都会有一个默认值,这里只是以jniLibs和aidl为例而已。

看到这里你应该就明白了,为什么我们把so包直接放到src目录下的main目录下的jinLibs目录就可以了,而不需要配置gradle文件了,因为系统默认就会到这个目录下找,如果你想把so包放在一个你喜欢的地方,比如直接放在app目录下的myJniLibs目录下,那你只需要把上面内容改成:

sourceSets {
    main {
        jniLibs.srcDirs = ['myJniLibs']
        aidl.srcDirs = ['src/main/aidl']
    }
}

这样就可以了。明白了原理,似乎一切都明了了,同理,如果不想把aidl文件放在默认目录下,也可以改aidl.srcDirs的值,如果不想把java代码放在默认目录,就可以改java.srcDirs的值,如果不想把资源文件放在默认目录下,就可以改res.srcDirs的值。。。还有几个,同学们慢慢去研究吧,如果你想把目录结构改的跟eclipse下的工程一样,就改这里的值就可以,不一一细说了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明
### 回答1: 1. 在Android Studio中,打开你的项目。 2. 在项目的根目录下,创建一个名为“libs”的文件夹。 3. 将你要引入的jar复制到“libs”文件夹中。 4. 在Android Studio中,右键点击“libs”文件夹,选择“Add as Library”。 5. 在弹出的对话框中,选择要添加的jar,然后点击“OK”。 6. 在你的代码中,使用import语句引入jar中的类或方法即可。 注意:如果你的jar依赖其他的jar,需要将这些依赖的jar也一并复制到“libs”文件夹中,并在步骤4中一并添加。 ### 回答2: Android Studio是一个功能强大的Android应用程序开发环境,它支持许多功能,其中一个是引入jar。Jar是Java Archive的缩写,是一种压缩文件格式,用于打Java类。以下是在Android Studio引入jar的步骤: 1. 打开Android Studio,在项目中右键单击“app”模块,然后选择“Open Module Settings”选项。 2. 在“Modules”窗口中选择“app”模块,然后单击“Dependencies”选项卡。 3. 单击“+”按钮,然后选择“JAR Dependency”选项。这将打开一个文件选择对话框。 4. 在文件选择对话框中选择要添加到项目中的jar文件并单击“确定”。然后,jar文件将自动添加到构建路径中。 完成了以上步骤后,jar文件就已经成功引入了您的Android项目中。请注意,如果您的jar文件依赖于其他jar文件,则必须将这些依赖项添加到您的项目中。这通常可以通过将所需的jar文件放在“libs”文件夹中来完成。 总之,在Android Studio引入jar是相当简单的。只要按照以上步骤进行操作,就可以轻松地将jar文件添加到您的项目中,并享受其提供的功能和优势。 ### 回答3: 在Android开发中,有很多时候我们需要引入第三方库或者jar来进行开发。在Android Studio中,引入jar主要有两种方法:手动导入和通过maven库导入。 手动导入jar: 1.将jar拷贝至工程目录下的libs文件夹中。 2.打开Module级别的build.gradle文件,找到dependencies节点进行配置: ``` dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') } ``` 3.同步Gradle,这时候我们就可以直接使用jar内的类了。 通过maven库导入: 将需要的库添加到项目的build.gradle文件中 ``` dependencies { ... implementation 'groupId:artifactId:version' } ``` 其中,groupId是库的组织机构,artifactId是库的名称,version是库的版本号。这些信息可以在maven库中进行查找。 以Glide为例,它的maven信息如下所示: ``` implementation 'com.github.bumptech.glide:glide:4.8.0' ``` 这时候同步Gradle即可使用库内的方法。当然,在进行引用前需要先导入依赖的库对应的。 总的来说,在Android Studio引入jar的方法比较简单,根据不同情况选择不同的方法即可。同时,推荐大家通过maven库进行依赖管理,方便快捷,还能自动解决库依赖关系。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值