如何在Android Gradle中添加原生so文件依赖

如何在Android Gradle中添加原生so文件依赖,第1张

android-native-dependencies是一个自动处理查找&下载&拷贝原生函数库依赖到jniLibs目录的Android插件,这样在APK构建过程中可以自动包含这些函数库。

这个插件使用跟声明查找jar包一样的仓库,下面是一个例子:

buildscript {

repositories {

mavenCentral()

}

dependencies {

classpath 'com.android.tools.build:gradle:0.10.+'

classpath 'com.nabilhachicha:android-native-dependencies:0.1'

}

}

apply plugin: 'android'

apply plugin: 'android-native-dependencies'

native_dependencies {

artifact 'com.snappydb:snappydb-native:0.2+:armeabi'

artifact 'com.snappydb:snappydb-native:0.2+:x86'

}

dependencies {

//regular Jar dependencies ...

}

规约

DSL artifact遵循Maven artifacts的命名规则。因此,我们下面两种语法都可以使用:

group:name:version[:classifier]缩写

//adding x86 classifier will resolve only intel's (.so) lib

native_dependencies {

artifact 'com.snappydb:snappydb-native:0.2+:x86'

}

//omit the classifier will resolve all supported architectures

native_dependencies {

artifact 'com.snappydb:snappydb-native:0.2+'

}

映射风格

//adding x86 classifier will resolve only intel's (.so) lib

native_dependencies {

artifact group: 'com.snappydb', name: 'snappydb-native', version: '0.2+', classifier: 'x86'

}

//omit the classifier will resolve all supported architectures

native_dependencies {

artifact group: 'com.snappydb', name: 'snappydb-native', version: '0.2+'

}

在每种语法中,classifier都是可选的。这意味着,当忽略classifier时,插件将会尝试获取所有类型CPU架构(armeabi, armeabi-v7a, x86和mips)的artifacts。

首先明确lambda表达式他是一个匿名函数,通常可以表示闭包。在Android studio中 *** 作lambda表达式主要有以下几步:

在Gradle(Project)中添加:(classpath:classpath 'me.tatarka:gradle-retrolambda:3.2.0')如图所示:

添加:(apply:apply plugin: 'me.tatarka.retrolambda')如果是Java版本需要添加以下内容:(compileOptions {    sourceCompatibility JavaVersion.VERSION_1_8    targetCompatibility JavaVersion.VERSION_1_8})如图所示:

同步Gradle以后,就可以 *** 作lambda了,如图所示:

正确的lambda表达式如下图所示:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11413387.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存