Android Studio3.0填坑指南

序言

Android Studio3.0

作为这个世界上走在最前沿的生物“猿”,怎么能对新事物一无所知呢,10月26日,随着Android 8.1 Oreo的预览版发布,Android Studio3.0正式版也发布了,作为Android开发的猿们我们应该早就知道谷歌在今年5月的开发者大会上就说了要支持Kotlin语言,所以这次更新一个比较大的点就在于支持Kotlin语言了,下面就跟着LZ的脚步来探索一下AS3.0吧

相信很多人很早就体验过谷歌爸爸放出来的体验版本了,虽然说正式版已经出了,但是很多人也不敢轻易贸然的更新,因为怕会掉进坑里出不来(真是一只胆小的猿,鉴定完毕)

安装

如果你从Android Studio内部点击更新的话,会跳转到Android的官网,没有梯子的同学可以点击 谷歌官方Android 开发中文网 下载更新:

网址: https://developer.android.google.cn/studio/index.html

不同平台版本

安装过程中遇到的问题

1、Gradle Sync failed:

Gradle sync failed: Cause:
    com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;
    Consult IDE log for more details (Help | Show Log) (8s 123ms)

其实一开始不是这个错,最开始是一个redownload的一个错,后来LZ把2.3版本的给删了,缓存给清除了,然后就变成这个错了。既然有错,那就解决呗,顺手百度了一个,下面看看stackoverflow的解决方案:

同步失败问题在stackflow上的解决

这个方法确实也适用于我,把ButterKnife降级之后就OK了。如果有其他更好的解决方法,欢迎私信我。

“一个问题的解决是为了更好的迎接下一个问题的出现”——鲁迅

解决方案1:把项目中依赖的ButterKnife降级到 8.4.0

解决方案2:把gradle plugin版本降低至 2.3.3 重新编译下就可以了

2、Unable to resolve dependency for:

出现了Unable to resolve dependency for:这个问题

第一眼看这个错的时候我以为我setting.gradle中没有依赖appCommon,看完之后明明确实依赖了,而且这是一个老项目,在AS2.3版本的时候很正常,然后我就知道这又是一个坑,无奈的又去上了一把Internet,然后试过网上说的在buildTypes中加入preview节点,然而并没有什么卵用,查了半天还是没有找到解决的方法,后来看着这段报错信息的时候,我看到了 signingConfigs ,我想到gradle中好像有这么个节点,抱着试一试的态度我删了那个节点,然后, 卧槽卧槽卧槽,可以成功编译了 ,这是不是有一种躺着过坑的赶脚。如果有其他更好的解决方法,欢迎私信我,有偿给发红包

解决方案:把项目中的 signingConfigs节点 删除掉就好了,如果你担心 多渠道打包 的事情,那么就用打包工具吧。

3、app:transformDexArchiveWithExterLibsDexMergeForDebug

app:transformDexArchiveWithExterLibsDexMergeForDebug

解决方案:将电脑中的 .gradle 目录删除掉(清除掉gradle缓存)重新build

4、gradle打包,自定义apk名称代码报错(Cannot set the value of read-only property ‘outputFile’ )

Error:(56, 0) 
  Cannot set the value of read-only property 'outputFile' for
  ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=debug, filters=[]}} 
  of type com.android.build.gradle.internal.api.ApkVariantOutputImpl.

解决方案:修改文件名代码请这样写

android.applicationVariants.all { variant ->
    variant.outputs.all {
         outputFileName = "xinlebao_${defaultConfig.versionName}_${releaseTime()}.apk"
    }
}

5、AAPT2 编译报错 AAPT2 error

Error:java.util.concurrent.ExecutionException: 
  com.android.tools.aapt2.Aapt2Exception: 
  AAPT2 error: check logs for details

解决方案:在gradle.properties中关闭APPT2 编译,加上下面这行代码就好了:

android.enableAapt2=false

注:如果是eclipse转到as上的项目,可能没有gradle.properties文件,请在项目根目录中手动创建。

6、apt插件问题

Error:Cannot choose between the following configurations of project :mylibrary:)
Error:Cannot choose between the following configurations of project :mylibrary:
- debugApiElements
- debugRuntimeElements
- releaseApiElements
- releaseRuntimeElements
 All of them match the consumer attributes:

解决方案:

  • 1.在project的build.gradle中删除
    classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’
  • 2.在module的build.gradle中删除
    apply plugin: ‘android-apt’
  • 3.将module的build.gradle文件中的dependency的apt ‘com.jakewharton:butterknife-compiler:8.1.0’
    改为 annotationProcessor ‘com.jakewharton:butterknife-compiler:8.1.0’

本文转载于 Android Studio3.0更新之路(遇坑必入)

相关阅读

有关 Android Studio的2.X的填坑指南 (本人全面总结),欢迎点击我的github,地址为:

https://github.com/AweiLoveAndroid/The-pit-of-the-Android-Studio ,主要包括以下内容:

简书责编内容来自:简书 (源链) | 更多关于

阅读提示:酷辣虫无法对本内容的真实性提供任何保证,请自行验证并承担相关的风险与后果!
本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » 移动开发 » Android Studio3.0填坑指南

喜欢 (0)or分享给?

专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录