写在前面
应届毕业Android仔在新公司上班的第三个月,月底转正。
Android Studio 发布3.0正式版,今天一早来上班,想瞧瞧新的版本又什么新奇又好玩的功能,手贱点了更新,然后就悲催了。一堆Error,exm?赶着发版呢老弟!bulu bulu bulu ,搬梯子上墙,bye~
以及,我的
buildToolsVersion 26.0.2
第一个错误:
指向--------------->
Error:(120, 0) Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=Main{type=*****, fullName=*****, filters=[]}} of type com.android.build.gradle.internal.api.ApkVariantOutputImpl.Open File
这个错误是由于升级了3.0后,AS API做了一些改变,引入原话
Android plugin 3.0.0 introduces API changes that removes certain functionalities and may break your existing builds. Later versions of the plugin may introduce new public APIs that replace broken functionalities.
用我蹩脚的英文水平翻译一下?
大概就是说3.0版本的AS对某些API做了一些修改,而这些修改会导致你现有的一些方法不管用了。不过不要怕,后续的版本会逐步推出一些新的公共API去修复它们。
然后官方的建议是
emmm,我先放一下官方的链接吧Android Studio 3.0 官方API文档?
以及
Step 1
// If you use each() to iterate through the variant objects,
// you need to start using all(). That's because each() iterates
// through only the objects that already exist during configuration time—
// but those object don't exist at configuration time with the new model.
// However, all() adapts to the new model by picking up object as they are
// added during execution.
android.applicationVariants.all{variant->
variant.outputs.all{
outputFileName="${variant.name}-${variant.versionName}.apk"
}
}
也就是说,我原先的output.outputFile =newFile(outputDirectory, fileName)不管用了
根据党和官方的只是,改为outputFileName = fileName //这个是你的app名字哟喂,不要直接Copy,记得记得记得
Step 2
把这个 each 改为 all
ok,Sync Project一下
发现又出来个新的错误
Error:android-apt plugin is incompatible with the Android Gradle plugin. Please use 'annotationProcessor' configuration instead.
Step 3 :Error:android-apt plugin is incompatible with the Android Gradle plugin. Please use 'annotationProcessor' configuration instead.
是因为我使用了apt插件,然而人家根本就不需要了这个好吗?
把这个apt改为 annotationProcessor
把这个插件去掉
Step 4 :Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html
大概就是flavor都要属于一个维度什么的,要同一种风格巴拉巴拉的,才不管那么多...赶时间呢老铁,那么如何解决?So Easy!
把这行加上 给你Copy算了 flavorDimensions"versionCode"
噢,最后这里
如果你也做了这个,先注释掉吧老铁,我还没找到替代方法。
问题解决,拜拜您呐老铁,滴,下班打卡!
已经下班15分钟了,我还在码字,如果对你有用,不如,点个赞?
第一篇简书献给各位看官~