前言
创新互联网站建设公司,提供成都做网站、网站设计,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!一大早还在北京拥挤的地铁里,我的CTO闫哥在微信里给我发了一条信息:Android Studio 3.0发布了。
为什么会这么关注Android Studio 3.0 的版本发布呢?主要是因为公司即将开发的新app准备使用Kotlin语言,而Android Studio 3.0 已经把Kotlin的语言支持内置进去了,这样就省去了很多的麻烦,如果你还没接触过Kotlin语言,可以去百度一下 他们的官网,如果你现在使用的Java语言,那么你真是太幸运了,因为Kotlin对于你来说,将会非常简单,例如像我这样的,两三天就可以几乎应付大部分的开发了。
这里就不对Kotlin语言做过多的描述了,今天的重点,是我升级到Android Studio 3.0 以后的故事。
正文
来到公司打开电脑,升级Android Studio到3.0版本,编译目前的工程。哎呀呀我擦擦,为什么报了好多的错?别着急,我们慢慢解决这些问题。
Android Studio的自带Gradle版本是4.1,插件版本是3.0.0,所以如果你使用的是老版本,就会出现一些小的兼容问题,我们看看报了哪些错误呢:
问题1
Error:(72, 0) Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=appDebug, filters=[]}} of type com.android.build.gradle.internal.api.ApkVariantOutputImpl.
outputFile是只读属性,不可以对他进行修改
看一下我的gradle里面的代码:
// 定义生成的apk的名称 def apkName; buildTypes { release { ... // 定义release版本生成的apk的名字 apkName = "xxx" + VERSION_NAME + "_release.apk"; } debug { ... // 定义debug版本生成的apk的名字 apkName = "ugirls_" + VERSION_NAME + "_debug.apk"; } } // 修改apk build的名字 android.applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { //这里使用之前定义apk文件名称 output.outputFile = new File(outputFile.parent, apkName) } } }