溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android Studio3.0以后outputfile不能用更改

發布時間:2020-08-06 13:09:17 來源:網絡 閱讀:463 作者:專注地一哥 欄目:編程語言

Android Studio自從更新3.0,gradle更新3.1.3之后,build.gradle文件中outputfile就不可用了,會報錯,既Cannot set the value of read-only property 'outputFile' for object of type com.android.build.gradle.internal.api.LibraryVariantOutputImpl.

所以如果要打包aar,使用自定義路徑和文件名稱,需要使用新的方法。
如果使用:

apply plugin: 'com.android.library'

就是打包aar。
以下是具體的代碼,可以直接使用。直接放在build.gradle文件最外面即可使用

android.libraryVariants.all { variant ->

????variant.outputs.all {

????????// 自定義輸出路徑

// variant.getPackageApplication().outputDirectory = new File("C:\\1")

????????// 自定義文件名{示例:AppName-Flavor-debug-v1.0.0_201807301409}

????????outputFileName = "test.aar"

????}

}

//掛接自定義task到構建過程中

this.project.afterEvaluate { project ->

// ???獲得build task

????def buildTask = project.tasks.getByName('build')

????if (buildTask == null) {

????????throw GradleException('the build task is not found')

????}

????buildTask.doLast {

????????copyTask.execute()

????}

}

//自定義copyApk task

task copyTask {

????doLast {

????????def fileName = "test.aar"

// ???????拷貝文件的始發地

? ??function(){ //交易品種?http://www.fx61.com/faq/muniu/447.html

????????def sourceFile = "/build/outputs/aar/" + fileName

// ???????指定文件拷貝的目的地

????????def destationFile = new File("C:\\1 ")

????????try {

// ???????????判斷文件夾是否存在

????????????if (!destationFile.exists()) {

????????????????destationFile.mkdir()

????????????}

????????????//拷貝

????????????copy {

????????????????from sourceFile

????????????????into destationFile

????????????????rename {

????????????????????fileName

????????????????}

????????????}

????????} catch (Exception e) {

????????????e.printStackTrace()

????????}

????}

}

上面build之后就在c:\1目錄下面去查找對應的aar即可
當然如果使用

apply plugin: 'com.android.application'

就更簡單了,直接在最外圍放以下代碼即可

android.applicationVariants.all { variant ->

????variant.outputs.all {

????????// 自定義輸出路徑

????????variant.getPackageApplication().outputDirectory = new File("C:\\1")

????????// 自定義文件名{示例:AppName-Flavor-debug-v1.0.0_201807301409}

????????outputFileName = "test.aar"

????}

}

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女