Android Studio记录在使用过程遇到的各种问题及解决
前言
本篇博客主要记录了本学期开始学习安卓,使用Android Studio遇到的各种问题,以及我所用到的解决办法。虽然技术含量可能不是很高,但是零零散散整理算是用心了,应该也比较齐全一点,希望对于今后有使用的Android Studio的朋友遇到问题有所帮助。接下来我们进入主题。
1.安装Android Studio的问题
(1)在本机没有SDK的情况下,启动的时候会报的错误。原因可能是:1.在第一次安装AS,启动后,检测到电脑没有SDK。即使勾选了Android SDK也可能会出现这种情况。2.在以后安装sdk,或者设置初次打开AS,不下载sdk。
正常的话步骤应该是点击Cancel,然后进入到了AS的安装向导界面,点击next进入UI界面主题选择界面,然后再点击next,勾选进行下载Android SDK -install 进行下载SDK
如果已经勾选,进入Android studio后可通过file>setting>直接搜索SDK,就可以找到相关信息
另外我最近又在网上看到了新一种造成的原因和解决方法,错误原因是目录中含非ASCII字符,发现是C盘的用户名是汉字的原因,改一下安装目录就好了
具体的描述在这儿
然后就可以正常启动使用Android Studio啦!!
(2)另外补充一下Android Studio版本、Gradle版本的对照图解
对应原网址:网站
还有在GitHub上曾经保存过的一张表作为补充,忘了出处了描述的是Android Studio版本、Gradle版本、Build Tools版本三者之间的相互匹配关系。
(3)不知道为啥想下载插件没办法下载
方法1:File->Settings->Apparence & Behavior->System Settings->Updates->use secure connnection 勾去掉
方法2:
过设置代理:File->Settings->-> Appearance & Behavior -> System Settings -> HTTP Proxy,找到Manual proxy configuration,选择HTTP,填入代理地址和端口号
2.导入项目的时候的问题
首先说下在导入他人工程需要修改的一些地方。
第一,修改build.gradle文件,把以下内容改成自己相对应的的Android studio版本号
第二,修改gradle/wrapper/gradle-wrapper.properties,把以下内容改为自己电脑上的gradle-x.x.x-all.zip
第三, 修改app/build.gradle改为各自使用的SDK以及buildTools版本
做完以上三步,同步一下,应该就有90%不会出现什么错误了,以下再举例一些特殊的导入错误。
(1)
Failed to resolve: com.afollestad:material-dialogs:0.7.5.5
解决办法:打开app目录下的build.gradle文件,添加以下代码:
repositories {maven { url \"http://jitpack.io\" }}
(2) apt插件问题:
android-apt plugin is incompatible with the Android Gradle plugin.Please use \'annotationProcessor\'
解决方法:
在project的build.gradle中删除
classpath \'com.neenbedankt.gradle.plugins:android-apt:x.x\'classpath \'me.tatarka:gradle-retrolambda:x.x.x\'
在module的build.gradle中删除
apply plugin: \'com.neenbedankt.android-apt\'apply plugin: \'me.tatarka.retrolambda\'
将module的build.gradle文件中的dependency改为
annotationProcessor \'com.jakewharton:butterknife-compiler:x.x.x\'
根据我在网上查找的apt问题,大多都是这样解决
(3)还有个是我个人没有遇到但是在网上有看到没有尝试过的问题
问题描述是:
Error:CreateProcess error=216, 该版本的 %1 与您运行的 Windows 版本不兼容。请查看计算机的系统信息,了解是否需要 x86 (32 位)或 x64
解决方法:
导入的Project项目工程所用的JDK和本地配置的JDK版本不一致所造成的,所以只要将导入的Project的JDK替换成本地的JDK就可以了
步骤 file —> Project Structure —> JDK location —> 选择电脑配置的Java jdk路径
(4)补充eclipse项目导入经常出的错
1.sdk版本不对
2.build.gradle出错
这两个问题方法和上面类似
3.然后是图片格式的问题
.png报错 因为Eclipse对图片的要求不严谨。原jpg改后缀
解决1 改回后缀,.jpg
解决2 图片多,不能一一改
build.gradle里添加以下两句:
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false,
就直接添加buildToolsVersion的下方即可
原文链接:原文链接
3.使用Android studio过程中的一些错误
(1)
Error:Execution failed for task compileReleaseRenderscript llvm-rs-cc is missing
错误的原因是module的build.gradle 的 buildToolsVersion 和targetSdkVersion 这几个的sdk版本设置太低了。
下载更新版本就好了
(2)打开两个Android Studio时,经常会出现引用包出错,关掉一个就好
(3)
finished with non-zero exit value 2
原因是jar包冲突或者当前sdk版本和引用的包版本
解决方法:去掉重复的包或者尝试在app的build.gradle里面添加
android {defaultConfig {multiDexEnabled true}}
(4)
finished with non-zero exit value 3
这是因为编译的代码太大啦
解决方法:在app的build.gradle里面添加
dexOptions {javaMaxHeapSize \"6g\"}
如果3、4两个问题用了上诉方法无法解决,可以考虑更换buildTools版本
compileSdkVersion和buildtools版本不一样好像也会报该错或者类似错误
(5)
Cannot set the value of read-only property \'outputFile\'
这是gradle打包,apk的名称代码报错了
解决方法:修改文件名代码:
android.applicationVariants.all { variant ->variant.outputs.all {outputFileName = rootProject.getName()+ \"-\" + buildType.name+ \"-\" + releaseTime()+ \"-v\" + defaultConfig.versionName+ \"-\" + defaultConfig.versionCode+ \".apk\";}}
(6)
Error:Resource shrinker cannot be used for libraries
原因是library中使用了混淆,并移除了无用的资源文件
解决办法:把该library中的shrinkResources字段移除
(7)
app:transformDexArchiveWithExterLibsDexMergeForDebug
解决方案:将电脑中的.gradle目录删除掉(清除掉gradle缓存)重新build
具体原因解决方法:参考链接
(8)
Error:Execution failed for task \':app:buildInfoDebugLoader\'
解决方案:
Build—->Rebuild Project
(9)
Error:Execution failed for task \':app:mergeDebugResources\'
错误原因:文件无法识别,工程的资源文件有非法标识
解决方法:修改非法文件名称
原文参考:参考链接
(10)Error:‘roundIcon’ in package ‘android’
错误原因:roundIcon是个高版本里面才有的东东,低版本是没有的,一般是由于调节targetSdkVersion版本造成的
解决办法:
删除清单文件AndroidManifest.xml里的 android:roundIcon=\”@mipmap/ic_launcher_round\” 这句话就OK了,只要看到Error:No resource identifier…,肯定是xml文件里面出问题了,盯着找就好了。如果是in package ‘XXX’,这个多半就是自己定义的控件在应用的时候出了问题
原文参考:参考链接
目前就这些啦
4.再补充一些个人觉得好用的Android Studio插件
(1)ok_gradle
可以在android studio中搜索第三方库的compile插件,也能搜索到
在gradle添加第三方库的地址的插件,个人感觉很赞
(2)GenerateFindViewById
这是个方便写代码的插件,可输入布局字段,可选中布局文件字段,自动生成有id控件相应的代码,很棒的哦
(3)Android Drawable Importer
可以用来快速批量导入不同大小的drawable文件,缺点是有点大,好像有30+M
(4)格式化xml布局工具:
LayoutFormatter和youtFormat
(5)序列化工具:
Android Parcelable code generator自动生成Parcelable序列化
Android Parcelable code generator(for kotlin)使用kotlin开发时自动生成Parcelable序列化。
GenerateSerialVersionUID自动生成Serializable序列化。
SerializableParcelable Generator自动生成Serializable序列化
(6)辅助工具
CodeGlance 代码预览和快速定位
IconViewer图标预览插件
GsonFormat 快速生成json实体类的插件
JsonToKotlinClass 能将 Json 数据直接映射生成 Kotlin Data Class 代码。
smalidea 这是一个Android APK程序的动态调试调试插件。
android-studio-proteus-plugin 将xml转化为json。
Lifecycle Sorter 按生命周期排序
Android Methods Count 统计第三方依赖库的方法数。
dexcount-gradle-plugin 统计方法数
AndroidResourceUsageCount 显示每个资源文件的引用次数
Statistic 统计代码行数
SingletonTest 生成单例模式的类
TemplateBuilder是一款能够帮助我们快速生成Android Studio Template的Android Studio插件
Markdown Navigator是一个能在IDE编辑markdown语法的插件。
idea-markdown
instapk-studio-plugin 分享apk文件