android studio3.0(二)Cannot set the value of read-only property 'outputFile'

接着说android studio3.0更新以后个人在使用的过程中遇到的坑,大多数还是因为Gradle插件的升级导致一些配置的改变。

像以往一样,在gradle中配置打包apk时的输出路径和apk的名字,配置语句样例:

图1

图2

但是不同以往的是之前没有问题的配置语句现在用起来却遇到了问题:

图3

在Stack Overflow上得到答案:

https://stackoverflow.com/questions/44239235/android-gradle-3-0-0-alpha2-plugin-cannot-set-the-value-of-read-only-property

然后在android developer官网android studio3.0的使用说明处找到同样的答案:

图4

请自行翻译吧,我感觉主要在说gradle3.0的api变化了,对outputFile对象的访问在某些情况下不再适用了,但是将each改为all的话,像编译apk名字这种"简单的task"还是可用的。

于是将图1中的配置语句改为:

图5

重新sync后编译通过。

说明:

①上面的配置默认apk的输出路径是app/build/outputs/flavorName/release(或者debug),可自行更改成任意自己想要的路径,比如:

图6

②outputFileName是配置all的情况下的全局属性(?),可以直接使用。但如果是在each条件下,则没有这个属性;

③在图1中用的是output.outputFile = new File(...,...),经过自测,3.0以后即使将上述的each改为all以后还是不能给它重新赋值,它是read-only的,只能用outputFileName这个属性。



猜你喜欢

转载自blog.csdn.net/Builder_Taoge/article/details/78413337