首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用maven-publish发布android apk和aar with build variant (android gradle plugin 4.0)

使用maven-publish发布android apk和aar with build variant (android gradle plugin 4.0)

在Android Gradle插件4.0及以上版本中,可以使用maven-publish插件来发布Android APK和AAR库。maven-publish插件提供了一种简单的方式来将构建产物发布到Maven仓库,以供其他项目使用。

下面是使用maven-publish发布Android APK和AAR库的步骤:

  1. 在项目的根目录下的build.gradle文件中,添加maven-publish插件的依赖:
代码语言:txt
复制
buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.0.0'
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.10'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
    }
}
  1. 在需要发布的模块的build.gradle文件中,应用maven-publish插件并配置发布任务:
代码语言:txt
复制
apply plugin: 'com.android.library'
apply plugin: 'maven-publish'

android {
    // Android构建配置
}

// 配置发布任务
publishing {
    publications {
        // 发布AAR库
        mavenAar(MavenPublication) {
            groupId 'com.example.library'
            artifactId 'library'
            version '1.0.0'
            // 配置AAR库的构建产物
            artifact("$buildDir/outputs/aar/library-release.aar")
        }
        // 发布APK
        mavenApk(MavenPublication) {
            groupId 'com.example.app'
            artifactId 'app'
            version '1.0.0'
            // 配置APK的构建产物
            artifact("$buildDir/outputs/apk/release/app-release.apk")
        }
    }
    repositories {
        maven {
            // 配置Maven仓库地址
            url 'https://maven.example.com/repository'
            credentials {
                // 配置Maven仓库的认证信息
                username 'your-username'
                password 'your-password'
            }
        }
    }
}

在上述配置中,我们定义了两个发布任务:mavenAar用于发布AAR库,mavenApk用于发布APK。你可以根据需要进行调整。

  1. 执行发布任务

在命令行中执行以下命令,将构建产物发布到Maven仓库:

代码语言:txt
复制
./gradlew publish

执行成功后,构建产物将被发布到配置的Maven仓库中。

这是使用maven-publish发布Android APK和AAR库的基本步骤。根据实际需求,你可以进一步配置发布任务,例如添加依赖关系、配置源码发布等。

腾讯云相关产品推荐:

以上是腾讯云相关产品的简要介绍,你可以根据具体需求选择适合的产品来支持你的云计算和开发工作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android发布aar包到maven仓库以及 maven插件 maven-publish 插件的区别

二、maven 插件 maven 插件是 Gradle 1.0的时候提供的,使用 maven 插件,遵循如下步骤: 1、使用 maven 插件 在 需要发布aar包的 library 模块的 build.gradle...1、maven-publish插件的基本使用 应用插件: apply plugin: "maven-publish" **配置发布产物:**使用 maven-publish 插件发布aar 包的时候,基础...module 应该的插件 发布内容工件 组件名称 com.android.library AAR components.variant com.android.application APK 可用的...ProGuard 或 R8 映射文件的 ZIP components.variant_apk com.android.application Android App Bundle (AAB) components.variant_aab...Android Gradle 插件 创建的 组件,当作发布内容的时候,aar文件 依赖传递,都得到了解决,非常完美。

4.1K30

Gradle插件开发-上传Apk到Bugly

前言 上一篇文章已经给大家详细介绍了如何通过Gradle将我们开发好的Library上传到JCenter,基本上就是一系列配置,最后通过Gradle脚本将Library打包成jar或者aar包上传到maven...这个问题问得很好,我们来举个例子,在使用Android Studio进行开发的时候,我们创建一个Android工程,会默认生成一个build.gradle脚本,打开脚本你会看到以下代码: apply plugin...如果我们创建一个Library的话,就会变成: apply plugin: 'com.android.library' 其实这就是在gradle脚本引用android为我们提供的插件,plugin表示插件...你可以看到我们在android studio所用到的所有插件Library都会下载这个目录下,这下子你应该对gradle引用插件的原理有一定的理解了吧。 如何开发Gradle插件?...' apply plugin: 'maven-publish' group = "com.tencent.bugly.plugin" version = "1.0.2" def baseUrl =

1.3K60

Gradle Plugin for Android Development User Guide 1

[注意:这里定义的repositorydependency只是build需要的,项目还需要定义自己的repositorydependency] (2) Then, the android plugin...[Android插件使用上面相似的语法来完成配置,只不过它的sourceSets 节点是定义在 android 中的] The Android plugin uses a similar syntaxes...Build Types [默认情况下,Android插件会自动将原项目编译成debugrelease两个版本,它们的区别在于调试程序的功能APK的签名方式。...[创建Library Project使用的是不同的插件,即android-library,它android 插件共享很多的代码(所以大部分的配置都前面提到的一模一样),并且这个插件的源码也是在com.android.tools.build.gradle...此外,因为它可以有不同的build typeproduct flavor,所以它可以得到很多个不同的aar] A Library project’s main output is an .aar package

78930

Android到React Native开发(四、打包流程解析发布为Maven库)

本地多aar文件的合并实现。 进一步的Gradle脚本理解。 如何发布一个React Native的Maven库。 OK,Let't do it (-_^)。  [163f93eee0649c4b?...(当然你也可以修改 app下的 apply plugin: "com.android.application" 为 apply plugin: 'com.android.library' ,再屏蔽applicationId...这个脚本会读取一些配置路径,然后执行命令行打包拷贝需要的资源,所以app的build.gradle文件一样,在rn-library的build.gradle文件顶部增加引入即可,打包后,默认生成的bundle...aar文件本身Apk一样,其实是一个zip压缩文件,其中包含文件如下所示: /**主要文件**/ classes.jar R.txt AndroidManifest.xml res/ /**其他文件.../gradlew assembleRelease,让react脚本生成我们需要的资源文件,然后再引用publish.gradle发布aar到maven即可。 [163f93eee0811f71?

2K40

Android到React Native开发(四、打包流程解析发布为Maven库)

本地多aar文件的合并实现。 进一步的Gradle脚本理解。 如何发布一个React Native的Maven库。 OK,Let't do it (-_^)。 ?  ...(当然你也可以修改 app下的 apply plugin: "com.android.application" 为 apply plugin: 'com.android.library' ,再屏蔽applicationId...这个脚本会读取一些配置路径,然后执行命令行打包拷贝需要的资源,所以app的build.gradle文件一样,在rn-library的build.gradle文件顶部增加引入即可,打包后,默认生成的bundle...aar文件本身Apk一样,其实是一个zip压缩文件,其中包含文件如下所示: /**主要文件**/ classes.jar R.txt AndroidManifest.xml res/ /**其他文件.../gradlew assembleRelease,让react脚本生成我们需要的资源文件,然后再引用publish.gradle发布aar到maven即可。 ?

2.2K20

Flutter Android 工程结构及应用层编译源码深入分析

build.gradle源码流程分析 先看项目 android 下根目录的build.gradle,如下: //......省略无关紧要的常见配置 // 看到了吧,他将所有 android 依赖的构建产物挪到了根目录下的...//里面配置只有 -dontwarn io.flutter.plugin.** -dontwarn android.** String flutterProguardRules =.../flutter_tools/gradle/module_plugin_loader.gradle脚本文件,你会发现前面 app 的settings.gradle中 apply 的脚本很像,也是自动配置一些依赖模块啥的...接着看看真正 flutter module android 相关的脚本,即.android/Flutter/build.gradle,如下: //...... apply plugin: 'com.android.library...pubspec.yaml及相关流程分析 先看一下其内部内容,大致如下: # 项目名称描述 name: f1 description: A new f1 project. # 想要发布的位置,删除就是发布

2.9K33

Android工程化实践:组件化发布

如何发布组件(artifacts) 在 Gradle发布组件,可以使用以下两个 Maven 插件: Maven Plugin(旧版) Maven Publish Plugin 发布到本地仓库 我们需要使用...类型(Type):group(仓库组)、hosted(宿主)、proxy(代理) virtual(虚拟); 格式(Format):maven1、maven2、nuget 发布到指定仓库:在模块级 build.gradle...插件:在发布模块的 build.gradle 中应用插件:模块级 build.gradle apply plugin: 'com.github.dcendents.android-maven' //...GitHub Maven 插件 声明 group:同时在发布模块的 build.gradle 中声明组件的 groupId: 模块级 build.gradle apply plugin: 'com.github.dcendents.android-maven...你需要 build.gradle 文件中声明 aar 的 Flat Directory 仓库地址。你可以放在 android{} 节点内,或者直接放在根节点,效果是一样的。

2.5K20

我做了款组件上传的插件

,然后再将组件 aar 上传到配置的仓库,但在执行 git add ${aar 文件} 命令时没有任何反应,即使使用 git add ....后来想到曲线救国的方式,java-lib 这个组件不是也要对外发布嘛,那我直接读取 java-lib 的 build.gradle 中的 GAV 不也可以嘛,所以,这个地方又判断了下 dependency...} } 二、依赖插件 1、上传到 github 在模块工程的 build.gradle 中依赖插件: plugins { id 'com.android.library' // 配置上传到...= "" } 2、上传到 maven 在模块工程的 build.gradle 中依赖插件: plugins { id 'com.android.library' // 配置上传到.../gradlew :android-lib:upload -Pname=nexusName -Psw={nexuPsw} -Purl={nexusURL} 例如要打包 android-lib 模块,用户名密码都是

99140

Gradle For Android(3)--管理依赖关系

在这个脚本中最好的一点,就是你所需要的只是添加一行到你的build.gradle中,然后Gradle就会从一个远程仓库中下载与之相关的依赖关系的库,以保证它的Classes对你的Project的是可用的...创建并且使用Library工程 首先,在Module中不使用Android Application Plugin,而是使用Android Library Plugin: apply plugin: 'com.android.library...AAR文件在assemble任务执行后,会在build/output/aar/目录下生成,只要Module构建完成后,也都会生成。...testCompileandroidTestCompile配置项会添加另外特殊的Library作为测试使用。...除了这些标准的配置项外,Android Plugin也会为每个构建Variant添加一些配置项,比如说debugCompile,releaseProvided等等。

1.4K30

使用Gradle管理你的Android Studio工程

其他关于Gradle的更多介绍请参考Gradle使用指南 Android Studio入门 使用Android Studio新建一个工程之后,其目录结构是这样的: ├── app #Android App...project,标明其下有几个module,比如这里包含一个:app module include ':app' settings.gradle在同一目录下的build.gradle是一个顶级的build...android提供的1.1.0的gradle build classpath 'com.android.tools.build:gradle:1.1.0' // NOTE...我们在开发App的时候免不了要和服务器进行通信,我们的服务器一般都有生产测试环境,当我们处理开发测试的时候使用测试环境进行调试,正式发布的时候使用生成环境。...在我们进行打包的时候会根据Gradle配置动态替换。 我们发现一般渠道版本都是用来发布的,肯定用的是生产服务器,所以我们可以使用批处理来搞定这个事情,而不用在一个个渠道里写这些配置。

95140

有赞 Android 编译进阶之路——全量编译提效方案

3.2 EnjoyDependence 实现原理 这一小节涉及到一些 gradle 基础知识,如有不了解的同学可以通过《Android Gradle 权威指南》Gradle For Android...正如大家平常使用 gradle 脚本发布 aar 到 maven 一样,我们的发布也是基于 Maven Plugin 来完成的。...3.3 依赖管理 成功发布之后,本地or远端已经有了我们 Module 的构件(aar 形式的产物),我们如何正确使用这些产物来加快我们的编译速度是我们接下来的重点。...version = loadAARVersion("lib_common") } } 到目前为止,我们已经实现了发布依赖管理这两个核心功能,业务方可以方便的使用 EnjoyDependence...实现构件发布依赖替换,从而实现 Android 组件化工程的编译加速。

1.4K30

Gradle依赖管理解析

应用项目将生成一个可被安装运行在Android 设备上的APK,依赖项目则生成一个.aar 文件。该文件可被Android 应用项目用作依赖库。...① 创建和使用依赖项目模块 不同于应用Android 应用插件,构建脚本需要应用Android 依赖库插件: apply plugin: 'com.android.library' 在应用中包含依赖项目的方式有两种...为了在Android模块中使用依赖库,你需要在Android 模块的build.gradle 文件中添加一个依赖库: dependencies { 其会在应用模块的类路径中包含依赖库的输出。...在构建依赖库时,模块目录下的build/output/aar/ 文件夹将会生成.aar 文件。...在项目中使用Android Studio 对话框,不仅能够轻松获取依赖概要,添加新的依赖库,而且无须在build.gradle 文件中手动添加代码,即可直接通过IDE 搜索JCenter。

2K20
领券