用户登录
用户注册

分享至

gradle 导出class

  • 作者: 磨人的小表砸
  • 来源: 51数据库
  • 2020-10-03
在构建中加入Ivy仓库
我们可以通过URL地址或本地文件系统地址,将Ivy仓库加入到我们的构建中。
如果想通过URL地址添加一个Ivy仓库,我们可以将以下代码片段加入到build.gradle文件中:

1
2
3
4
5

repositories {
ivy {
url "http://ivy.petrikainulainen.net/repo"
}
}

如果想通过本地文件系统地址添加一个Ivy仓库,我们可以将以下代码片段加入到build.gradle文件中:

1
2
3
4
5

repositories {
ivy {
url "../ivy-repo"
}
}

小贴士:如果你想要获得更多关于Ivy仓库配置的信息,你可以参考以下资源:
Section 50.6.6 Ivy Repositories of the Gradle User Guide
The API documentation of the IvyArtifactRepository
我们继续,下面是如何在构建中加入Maven仓库。
在构建中加入Maven仓库
与Ivy仓库很类似,我们可以通过URL地址或本地文件系统地址,将Maven仓库加入到我们的构建中。
如果想通过URL地址添加一个Maven仓库,我们可以将以下代码片段加入到build.gradle文件中:

1
2
3
4
5

repositories {
maven {
url "http://maven.petrikainulainen.net/repo"
}
}

如果想通过本地文件系统地址添加一个Maven仓库,我们可以将以下代码片段加入到build.gradle文件中:

1
2
3
4
5

repositories {
maven {
url "../maven-repo"
}
}

在加入Maven仓库时,Gradle提供了三种“别名”供我们使用,它们分别是:
mavenCentral()别名,表示依赖是从Central Maven 2 仓库中获取的。
jcenter()别名,表示依赖是从Bintary’s JCenter Maven 仓库中获取的。
mavenLocal()别名,表示依赖是从本地的Maven仓库中获取的。
如果我们想要将Central Maven 2 仓库加入到构建中,我们必须在build.gradle文件中加入以下代码片段:

1
2
3

repositories {
mavenCentral()
}

小贴士:如果你想要获取更多关于Maven仓库配置的信息,你可以参考这篇文章:
section 50.6.4 Maven Repositories of the Gradle User Guide
我们继续,下面是如何在构建中加入Flat Directory仓库。



  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。
软件
前端设计
程序设计
Java相关