怎么解决Android Studio升级3.以后outputfile无法使用
admin
2023-02-14 19:20:02
0

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到构建过程中

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"

    }

}

扩展知识:

Android Studio 是一个全新的 Android 开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。

主要功能

1、优化小贴士:在主体中打开你的应用,点击小贴士,会得到这样的建议:为你的应用开发平板电脑版本。

2、应用翻译服务:允许开发者直接在开发主体中获得专业的翻译。上传你的需求,选择翻译,其会显示翻译方和价格,并在一周内发回译本。

3、推荐跟踪:允许开发者找出最有效的广告

4、营收曲线图:向开发者展示其应用营收,以国家进行划分

5、试用版测试和阶段性展示:开发者可以对应用进行测试,然后向测试用户推出,测试结果不会对外公布。当一个版本的测试结束,开发者可以向特定比例用户推出。

相关内容

热门资讯

“从造王者沦为票房毒药,5月多... 【文/观察者网 熊超然】美国总统特朗普在共和党内长期扮演“造王者”的角色,但随着年底的中期选举日益临...
风声丨为完成指标,引诱少年吸毒... 作者丨陈碧中国政法大学教授近日,媒体报道了一起“诱人犯罪”案。南京一派出所副所长马某犯欺骗他人吸毒罪...
女游客体验景区悬崖秋千项目高空... 极目新闻记者 谢茂5月5日,多位网友发视频称,一处景区悬崖秋千项目发生事故,致一名女游客受伤。网友发...
凤凰女记者战地日记丨广场之内和... 【编者按】这是凤凰卫视驻伊朗记者李睿的战地日记。她身处德黑兰,既是战争的亲历者,也是观察者。在她的日...
伊朗两枚导弹击中美国军舰 伊朗法尔斯通讯社5月4日报道,两枚导弹击中了一艘美国海军舰艇。法尔斯通讯社称,这艘舰艇今日在贾斯克附...
罗晴秋:悦读,让张家界更硬核起... 4月21日晚,悟空研究院院长罗晴秋应邀主持2026悦读共创大会暨华人国学大典丙午春集闭门交流会。4月...
伊朗外长启程访华 据凤凰卫视报道,伊朗外交部5日宣布,伊朗外长阿拉格齐当天启程,到中国北京展开访问。伊朗外交部在其电报...
女子体验瀑布秋千坠亡,四川华蓥... 情况通报5月3日下午,华蓥市玛琉岩探险公园发生一起人员伤亡事故,游客刘某某(女)在体验瀑布秋千项目时...
凤凰直击浏阳烟花厂爆炸:3公里... 湖南长沙浏阳市华盛烟花制造燃放有限公司5月4日发生爆炸,截至目前已造成26人遇难、61人受伤。凤凰卫...
涵盖6大类花品及10种特色花 ... 4月27日,在文化和旅游部主办的2026年全国“五一”文化和旅游消费周与首届中国新文创市集媒体推介会...