溫馨提示×

溫馨提示×

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

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

怎么解決Android Studio升級3.以后outputfile無法使用

發(fā)布時間:2020-06-19 14:43:32 來源:億速云 閱讀:1475 作者:元一 欄目:編程語言

Android Studio自從更新3.0gradle更新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到構(gòu)建過程中

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"

//        拷貝文件的始發(fā)地

    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目錄下面去查找對應(yīng)的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"

    }

}

擴展知識:

Android Studio 是一個全新的 Android 開發(fā)環(huán)境,基于IntelliJ IDEA. 類似 Eclipse ADT,Android Studio 提供了集成的 Android 開發(fā)工具用于開發(fā)和調(diào)試。

主要功能

1、優(yōu)化小貼士:在主體中打開你的應(yīng)用,點擊小貼士,會得到這樣的建議:為你的應(yīng)用開發(fā)平板電腦版本。

2、應(yīng)用翻譯服務(wù):允許開發(fā)者直接在開發(fā)主體中獲得專業(yè)的翻譯。上傳你的需求,選擇翻譯,其會顯示翻譯方和價格,并在一周內(nèi)發(fā)回譯本。

3、推薦跟蹤:允許開發(fā)者找出最有效的廣告

4、營收曲線圖:向開發(fā)者展示其應(yīng)用營收,以國家進行劃分

5、試用版測試和階段性展示:開發(fā)者可以對應(yīng)用進行測試,然后向測試用戶推出,測試結(jié)果不會對外公布。當一個版本的測試結(jié)束,開發(fā)者可以向特定比例用戶推出。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI