今天做一个项目,需要用到百度地图的SDK,下载后一步一步操作了,其中有so文件的导入。
我记得我以前写代码的时候也导入过so文件,但是从未深入思考过,于是今天突然觉得我应该仔细了解下so文件干嘛的啊!
导入so文件很简单,有一种方法就是和jar文件一样放在android工程libs目录下,然后在build.gradle里面加如下代码:
android {
sourceSets { main { jniLibs.srcDirs = ['libs'] } }
}
这样就可以导入so文件啦!还有一种方法是建立jinlib目录,但是我觉得太麻烦了,因为按照第一种方法做了之后就会自动生成那个文件夹的,就是jinLibs。
内部就是很多so文件。
那么so文件是干嘛的呢?和jar有什么不同呢?
世上有一些大神,把一些难以实现的功能实现了,或者说封装了一些框架,给小白使用,于是将代码打包成一个文件供使用者调用,然后我们只需要根据接口文档查阅即可轻松实现很难的功能。这种打包后的文件,在c++那儿,就叫库,在java那儿就叫jar包。库在linux c++层,又分为静态库和动态库,静态库一般以.a结尾,动态库都以.so结尾,jar包则不分静态包和动态包,二则都一样。静态就是在编译期,就把.a或者jar里的代码,链接到目标文件里了,动态则在运行时动态加载.so或者jar内的代码。
同时我想解释下manifest文件的meta-data的作用,发现经常在引用一些SDK的时候需要配置它,其实它和键值对差不多,具体请看这里。
http://www.cnblogs.com/kangyi/p/3958248.html
完咯!继续写其他代码。切换着来才不会累嘛,一会儿写文档一会儿写代码,哈哈!
相关推荐
将tensorflow的PNet,RNet,ONet的模型文件:*.data-00000-of-00001,*.index 和 *.meta这3个文件固化为pb文件。里面详细介绍了节点名称:output_node_names如何获取。直接拿来就可以运行。可以直接看看自己模型文件的...
在Android开发中,`meta-data`标签是AndroidManifest.xml文件中的一个重要组成部分,它允许开发者在应用的配置中存储额外的数据。这些数据可以是字符串、整数或其他任何可以在XML中表示的类型,通常用来保存第三方库...
Android获取清单文件中的meta-data解决碰到数值为null的问题 Android获取清单文件中的meta-data是Android应用程序中一种常用的技术,用于在应用程序中存储和读取配置信息。然而,在获取meta-data时,经常会遇到数值...
Android Manifest中meta-data扩展元素数据的配置与获取方式 AndroidManifest.xml 文件是 Android 应用程序的配置文件,用于定义应用程序的组件、权限、特性和其他元数据。在 AndroidManifest.xml 文件中,我们可以...
有时候会用到meta-data中的参数,比如定义的渠道号,类似友盟统计。也会用到定义在build.gradle文件中android标签下的defaultConfig标签下,添加manifestPlaceholders标签中,有可能也会用到渠道值。 <meta-data...
cmfa-2.9.0-meta-universal-release.apk.1
HBase 元数据修复工具包。 ①修改 jar 包中的application.properties,重点是 zookeeper.address、zookeeper.nodeParent、hdfs....③开始修复 `java -jar -Drepair.tableName=表名 hbase-meta-repair-hbase-2.0.2.jar`
- `META-INF`:包含了应用签名和其他元数据,确保库文件的完整性和安全性。 5. 集成ONNX Runtime到Android应用:开发者需要将这些库文件和对应的Java API集成到项目中,然后通过Java或Kotlin代码创建ONNXRuntime...
meta-data android:name="xposedmodule" android:value="true" /> <meta-data android:name="xposeddescription" android:value="..." /> <meta-data android:name="xposedminversion" android:...
离线安装包,亲测可用
meta-llama-3-8b-instruct 的 model-00001-of-00004.safetensors 的1/3
CMFA-2.5.14-universal.apk
Gradle 是一个强大的构建自动化工具,它用于管理Java、Android和其他多语言项目。Gradle采用领域特定语言(DSL)以Groovy或Kotlin编写构建脚本,提供了灵活性和可扩展性,使其成为现代软件开发中的首选构建系统。...
//的到web.xml中的配置文件用于保存上传文件,也可以在已开始定义的时候初始化,不过这样可以通过改动配置文件来改动存放路径,不用该代码,增加了灵活性。 } } web.xml中相应的配置如下: <servlet-name>...
用wavene训练的VCTK-corpus,step=100000,里面包括model.ckpt-99999.data-00000-of-00001,model.ckpt-99999.index,model.ckpt-99999.meta,大家想测试的可以试试,训练一个model需要好久,保存一下。
kotlin-stdlib-common.jar
app-arm64-v8a-release.apk.1
android-support-v7-recyclerview,348KB