日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android aar编程,AndroidStudio脚本命令指定AAR生成目录与版本号

發布時間:2024/8/1 Android 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android aar编程,AndroidStudio脚本命令指定AAR生成目录与版本号 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

A build.gradle全局常量:

//根路徑

def ROOT_PATH = rootProject.rootDir.path

def GROUP = "com.genialsir.mobileads"

def MOB_SDK_VERSION_NAME = "1.1.2"

復制代碼

B 在當前庫項目的build.gradle文件中android{}中配置如下:

//自定義aar名稱

android.libraryVariants.all {

variant ->

variant.outputs.all {

def fileName = GROUP + "." + MOB_SDK_VERSION_NAME + ".aar"

outputFileName = fileName

}

}

復制代碼

C 借助命令生成arr到指定的目錄:

使用gradle -b **(代表當前Project或Module目錄名)/build.gradle aarRelease

復制代碼

在對應build.gradle文件中配置如下:

生成所需要的目錄

//生成對應目錄

task makeLibDir() {

def outputPath = ROOT_PATH + '/aar_release'

//腳本指定路徑

if(project.hasProperty('OUT_PUT_DIR_PATH')){

outputPath = "${OUT_PUT_DIR_PATH}"

}

//創建aar所輸出的目錄

createDir(outputPath)

}

復制代碼

代碼參數塊

def createDir = {

path ->

File dir = new File(path)

if (!dir.exists()) {

dir.mkdirs()

}

println "Generate the corresponding directory path is" + dir.toString()

}

復制代碼

拷貝AAR

task copyAAR(type: Copy) {

println "----------> ARR copy start

def buildPath = ROOT_PATH + '/containerad/build/outputs/aar'

//AAR所在的編譯路徑

from buildPath

//AAR所拷貝的目錄

def outputPath = ROOT_PATH + '/aar_release'

println "outputPath = " + outputPath

into outputPath

println "----------> ARR copy succeeded

}

復制代碼

執行copyAAR

tasks.withType(JavaCompile) {

compileTask -> compileTask.dependsOn(copyAAR)

}

復制代碼

使用命令執行**(gradle -b 目錄名/build.gradle aarRelease)**并發布AAR

task aarRelease(type: Copy) {

//任務開始

println "----------> AAR Release Task Start

//AAR所在的編譯路徑

def buildPath = ROOT_PATH + '/containerad/build/outputs/aar'

//AAR輸出路徑

def aarOutPath = ROOT_PATH + "/aar_release"

//廣告的SDK

def adPath = buildPath + GROUP + "." + MOB_SDK_VERSION_NAME + ".aar"

//封裝數組

def modulePaths = [adPath]

//刪除AAR輸出目錄

println "Delete -> " + aarOutPath

delete aarOutPath

//循環刪除各個AAR編譯目錄

for (path in modulePaths) {

println "Delete -> " + path

delete path

}

//執行編譯AAR腳本(原生腳本)

dependsOn 'assembleRelease'

//循環拷貝AAR到ARR輸出目錄

for (path in modulePaths) {

//顯示開始拷貝

println "-> Start of current copy

//當前目錄

println "From : " + path

from path

//拷貝至 aarOutPath

println "Into : " + aarOutPath

into aarOutPath;

//顯示當前拷貝結束

println "-> End of current copy

}

//任務結束

println "----------> AAR Release Task End

}

復制代碼

(上面內容寫的有些繁瑣與重復,靈活性相對差些,如果需要外部指定對應版本與目錄,以及通過git靈活打對應需求的版本則就略差一些。)

#### 先來張最近奧迪漏油事件皮一波,免費打打廣告

好的,開始進入正題,首先靈活指定版本號,通過協定OUT_PUT_AAR_VERSION_SUFFIX來指定所需版本。

//自定義aar名稱

android.libraryVariants.all {

variant ->

variant.outputs.all {

def fileName

if (!project.hasProperty('OUT_PUT_AAR_VERSION_SUFFIX')) {

fileName = GROUP + "." + MOB_SDK_VERSION_NAME + ".aar"

}else{

fileName = GROUP + "." + "${OUT_PUT_AAR_VERSION_SUFFIX}.aar"

}

outputFileName = fileName

}

}

復制代碼

指定對應的生成目錄以及版本號

使用默認路徑命令執行(gradle -b containerad/build.gradle aarRelease)

腳本指定版本號與對應目錄(gradle assemble -P OUT_PUT_AAR_VERSION_SUFFIX=1.1.2 -P OUT_PUT_DIR_PATH=H:\AndroidProject\ADPlugIn\OnlyLadyAD\ad_release_path aarRelease)

復制代碼

通過協定好的OUT_PUT_DIR_PATH與OUT_PUT_AAR_VERSION_SUFFIX來控制版本號與路徑。 task aarRelease(type: Copy) {

//任務開始

println "----------> AAR Release Task Start

//執行編譯AAR腳本(原生腳本)

dependsOn 'assembleRelease'

//AAR所在的編譯路徑

def buildPath = ROOT_PATH + '/containerad/build/outputs/aar/'

//AAR輸出默認路徑

def aarOutPath = ROOT_PATH + '/aar_release'

//腳本指定路徑

if(project.hasProperty('OUT_PUT_DIR_PATH')){

aarOutPath = "${OUT_PUT_DIR_PATH}"

}

//廣告的SDK

def adPath

if (!project.hasProperty('OUT_PUT_AAR_VERSION_SUFFIX')) {

//默認版本

adPath = buildPath + GROUP + "." +

MOB_SDK_VERSION_NAME + ".aar"

}else{

//腳本指定版本

adPath = buildPath + GROUP + "." + "${OUT_PUT_AAR_VERSION_SUFFIX}.aar"

}

//封裝數組

def modulePaths = [adPath]

//當前AAR輸出目錄

println "The current aar output directory is " + aarOutPath

delete aarOutPath

//循環刪除已存在的aar

for (path in modulePaths) {

println "Delete ---> " + path

delete path

}

//循環拷貝AAR到ARR輸出目錄

for (path in modulePaths) {

//顯示開始拷貝

println "-> Start of current copy

//當前目錄

println "From : " + path

from path

//拷貝至 aarOutPath

println "Into : " + aarOutPath

into aarOutPath;

//顯示當前拷貝結束

println "-> End of current copy

}

dependsOn 'assembleRelease'

//任務結束

println "----------> AAR Release Task End

}

復制代碼

總結

以上是生活随笔為你收集整理的android aar编程,AndroidStudio脚本命令指定AAR生成目录与版本号的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。