AndroadStudio目前遇见的所有问题及解决方法整理
- 一,解决启动卡慢的问题
- 二,不要尝试更改路径相关信息
- 三,环境变量配置
- 四,汉化包使用方法
- 五,android studio已停止工作解决方法
- 六,第一次安装android studio时候弹出unable to access android sdk add-on list
- 七,JDK/SDK安装
- 八,第一次无设备时运行代码时报错
- 九,更换阿里源可解决与下载相关的问题
- 一,运行时提示:错误,未指定模块
- 二,创建项目卡在Building 'xxx' Gradle project info
- 三,运行时出现gradle project sync failed
- 四,网络问题导致的虚拟手机镜像下载失败/安装失败/打不开/一直黑屏
- 五,在AVD Manager下载虚拟设备镜像过慢/断网的问题
- 六,在SDK Manager下载各版本SDK时过慢/断网的问题
- 十,关于虚拟手机和AVD Manager
- 方法一
- 方法二
- 十一,运行时提示类似Installation failed with message Failed to install all
- 十二,自动补全
- 十三,自动导入包
- 十四,快捷操作
- 十五,在运行时出现Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory.
- 十八,错误license for package android sdk plantform 28 not accepted
- 十九,卡在Gradle:Build Running
- 二十一, AS重装后残留文件对新版AS的影响问题
- 二十二,layout里Button无故标红解决方法
- 二十三,main里面引入button标红
- 二十四,layout里不显示design解决方法
- 二十五,Android Studio 报错 must either be declared abstract or implement abstract method 解决方法
- 二十六,mainactivity语法错误
- 二十七,注释添加方法
- 二十八,使用view的时候发现无论如何颜色都不变
- 二十九,复制另一个程序的代码粘贴后报错
- 三十,【未遇到】studio的代码出现了代码基本全红的状态
- 三十一,mainactivity语法错误,下面几个括号下都是红线
- 三十二,新建的项目里面没有public而是直接class
- 三十三,AS占用C盘太大的问题
- 三十四,更改App名字和图标
- 三十五,移动自己项目的目录或者更改项目目录的名字后,再打开项目,运行报错的解决方法
- 三十六,无法显示gif图片的解决方法
- 三十七,文字无法换行的解决方法
PS:
最好使用新版的AS否则会出现诸多无法解决的问题
做任何操作前备份更改的文件
创建项目:
项目名,包名随便填
存储位置不要变
勾选支持kotlin
选择basic activity
一,解决启动卡慢的问题
记事本打开安装目录下的bin,studio64.exe.xmoptions文件(64位系统如此)
将文件中对应数值改为下列(没有的话不用添加,只改有的)
Xms1024m
-Xmx1024m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=512m
二,不要尝试更改路径相关信息
尝试过
关于AndroidStudio 配置的默认路径的修改
发现会导致软件意外终止
三,环境变量配置
具体百度
配置java环境变量
配置android sdk环境变量
检测方法是cmd输入adb和android出现相应反应表示配置成功
四,汉化包使用方法
下载修复问题版的汉化包(有问题的版本汉化后会导致设置打不开)
重命名为resources_cn.jar放入安装目录,lib文件夹
五,android studio已停止工作解决方法
ntdll.dll放在studio64.exe所在目录
六,第一次安装android studio时候弹出unable to access android sdk add-on list
原因是你电脑没有SDK而且你下载的android studio又是不带SDK的;
安装的目录下找到:bin\idea.properties
末尾添加disable.android.first.run=true
七,JDK/SDK安装
JDK可以用自带的也可以用JAVA的JDK
SDK最好用官方的,新版的AS可直接打开SDK manager
类似your android sdk—的报错,解决方法
旧版的AS的sdk mangner打不开解决方法
本版本不带SDK,需要安装一个SDK,还要安装SDK tools
下载本目录下的SDKManager.exe文件,安装这个程序
打开这个程序后,有三个必选项必须安装
Android SDK Tools
Android SDK Plantform-tools
Android SDK Build-tools
其它的根据你想要开发的安卓应用版本进行安装
八,第一次无设备时运行代码时报错
运行时选择创建一个虚拟设备
在设置Graphics时选择software即可运行
九,更换阿里源可解决与下载相关的问题
一,运行时提示:错误,未指定模块
二,创建项目卡在Building ‘xxx’ Gradle project info
三,运行时出现gradle project sync failed
四,网络问题导致的虚拟手机镜像下载失败/安装失败/打不开/一直黑屏
五,在AVD Manager下载虚拟设备镜像过慢/断网的问题
六,在SDK Manager下载各版本SDK时过慢/断网的问题
上面问题中
必须要在更换阿里源后重启AS使得init.gradle生效才可以
重启AS后在右上角一个很小的图标搜索sync安装即可
四,网络问题导致的虚拟手机镜像下载失败/安装失败/打不开/一直黑屏问题的修复过程见本文十
暂时更换阿里源,用project打开文件,找到gradle,build.gradle
在代码中两个repostories里都加入
maven {url ‘https://maven.aliyun.com/repository/public’}
在右上角搜索按钮,搜索sync安装,安装成功后再运行
永久更换阿里源
C:\Users\Administrator.gradle新建init.gradle输入
allprojects{
repositories {
def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'
def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
all { ArtifactRepository repo ->
if(repo instanceof MavenArtifactRepository){
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
remove repo
}
if (url.startsWith('https://jcenter.bintray.com/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
remove repo
}
}
}
maven {
url ALIYUN_REPOSITORY_URL
url ALIYUN_JCENTER_URL
}
}
}
注意:
上面文件创建后需要重启AS才能生效
在更换阿里源后可更改hosts二次提高速度,这次提高的是阿里源的访问速度
任意搜索一个PING检测网站
输入要PING的网址,等待一会看到延时列表,找到最小的数字就是最快的IP
然后打开C:\Windows\System32\drivers\etc
文本方式打开hosts文件
在最后一行按照前面的格式添加新的项
格式为:
IP
要访问/PING的网址
注意:
这个IP其实也同样适用于软件中下载不不动的包的下载,但是阿里源比它快得多,而且每次都检测非常麻烦,所以换源后就几乎不需要每次检测速度再添加hosts了,但是可以再次提高阿里源的速度
这是阿里源最快的IP,记事本打开C:\Windows\System32\drivers\etc\hosts
复制下面代码到最后面
59.110.251.9
http://maven.aliyun.com/nexus/content/groups/public
182.92.29.16
http://maven.aliyun.com/nexus/content/repositories/jcenter
十,关于虚拟手机和AVD Manager
虚拟手机打开黑屏,百分之九十九是没有成功安装好,没有安装好,百分之九十九是网络的问题,可以在更换阿里源后用方法一解决,但是如果你已经按照本文方法更换阿里源并尝试了方法一,但仍然有问题,可以试试下面我在网上找到的的方法二(旧版AS测试无效,新版AS未测试)
方法一
:
打开ADV Manager如图
点击感叹号,会进入下载系统界面
但是会发现由于源是国外的,下载不下来
总会报错下载失败
解决方法:
下载时可以在窗口里看到你的下载地址
打开C:\Windows\System32\drivers\etc
以文本打开hosts
拉到最后,加入
216.58.193.206
https://dl.google.com/android/repository/sdk-tools-windows-4333796.zip
这样下载速度会更快,本文后面有专题介绍解决各种下载慢的问题和前面IP地址的获取方法
然后就会下载成功,多等一会,在如下图所示界面加载完后,手机会黑屏,因为没有开机,开机需要按下虚拟手机上的开机键
开机后界面如图,可能还是有什么问题,但是目前虚拟手机能开机了
开机后电脑可能会卡,所以建议用8G运行内存以上的电脑
由于我的电脑是4G的运行内存,比较卡,在给虚拟手机安装自己的程序的时候,卡在installing apk了,所以无法补后面的图,但软件在真机上可以正常运行
补充:
重装了系统,现在非常流畅
但是由于硬件限制关系,用虚拟手机还得要关闭其他软件
开启虚拟手机运行截图,选择的是Nexus5,SDK=8.0
配置虚拟手机时,graphics一定要选hardware否则会报错
方法二
打开C:\Users\MyPC.android\avd\Pixel_3a_API_28.avd\config.ini
将
avd.ini.encoding = UTF-8
改为
avd.ini.encoding = ISO-8859-1
重启模拟器
替代方法:在手机上运行程序
手机连接电脑,打开usb调试,仅充电
运行时选择手机,即可在手机上运行程序(注意sdk版本要对应安卓版本)
十一,运行时提示类似Installation failed with message Failed to install all
设置搜索instant run取消掉勾选即可
十二,自动补全
注意输入代码时输入法一定要切换到英文
文件,设置,编辑器,常规,代码补全,区分大小写补全改为none
按照如图配置即可
十三,自动导入包
文件,设置,编辑,自动导入
十四,快捷操作
十五,在运行时出现Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory.
是因为项目所在路径不能包含中文
十八,错误license for package android sdk plantform 28 not accepted
方法一
更换sdk manager为android studio自带的,下载安装sdk并更改host文件
方法二(不推荐)
找到sdktools,tools,bin,打开命令行,输入
sdkmanager.bat --licenses
再输入y
没有sdkmanager.bat --licenses的话,先在sdkmanager里安装
android aupport repository和google repository
十九,卡在Gradle:Build Running
在C:\User<用户名>.gradle 目录下新建一个gradle.properties文件,并在里面添加一行:org.gradle.daemon=true
重启as
二十一, AS重装后残留文件对新版AS的影响问题
由于重装系统删除了分区表重新分区,要重新安装所有软件
但是在网上重新下载的AS总有奇怪的问题,而且手动卸载不干净
如果想要完全卸载不留下残留文件的话,推荐用GEEK卸载
重装后打开工作目录下的文件
android studio的残留文件目录如下
C:\Users\Administrator.android
C:\Users\Administrator.AndroidStudio3.5
C:\Users\Administrator.gradle
C:\Users\Administrator\AppData\Local\android
%temp%
E:\my\programming\android(这是自己的项目保存的目录,GEEK不会删除它)
二十二,layout里Button无故标红解决方法
点下方Design和Text的Design
用小魔法棒Infer Constraints点一下标红的控件即可
二十三,main里面引入button标红
新建项目的时候,选java
安卓版本选8.0
二十四,layout里不显示design解决方法
网传方法是,工具,更换sdk版本
遇到的情况是等一会就自动好了
二十五,Android Studio 报错 must either be declared abstract or implement abstract method 解决方法
可以单击错误行,在行首出现红色电灯泡,点“implement methods“,就会自动补全缺失的代码
二十六,mainactivity语法错误
倒数第三行添加大括号,小括号,分号,编译成功
二十七,注释添加方法
重起一行,输入//即可输入注释,写代码到下一行写
二十八,使用view的时候发现无论如何颜色都不变
把view改成View就好了
二十九,复制另一个程序的代码粘贴后报错
在代码正确,复制后格式正确,不缺少资源文件的前提下
在复制代码后,注意更改代码中tools:context那一行引号里的值,把其中原程序的名字替换成新程序的名字
三十,【未遇到】studio的代码出现了代码基本全红的状态
删掉.idea文件夹,退出studio,重进,sync一下,再Build->Rebuild,然后跑一遍进你的手机,就好了
三十一,mainactivity语法错误,下面几个括号下都是红线
倒数第三行添加大括号,小括号,分号,编译成功
三十二,新建的项目里面没有public而是直接class
新建项目时语言选择java而不是其他的
三十三,AS占用C盘太大的问题
我本想移动android studio的配置文件到D,参考下面的方法
但是经过多次尝试发现对我与我来说这个方法没有什么用,可能是版本问题吧,按照说明配置好后打开AS,所有东西都没变而且都要重新下载
于是我换一条思路,既然占C那么大又无法移动,那便扩展C盘空间吧
具体参考
三十四,更改App名字和图标
AndroidManifest.xml中的android:label=”@string/app_name”
可修改软件名字
文件,New,imageassert可更改软件图标
三十五,移动自己项目的目录或者更改项目目录的名字后,再打开项目,运行报错的解决方法
更改文件夹名字或移动文件夹后(注意不能移动到有中文的路径,斗则会报错,前面有说明)
删除文件夹中的.gradle和.idea
再用android studio打开
在上面菜单栏上选择,构建,clean project,rebuild project
三十六,无法显示gif图片的解决方法
注意,经过血的教训发现,一旦使用了gif图片就不能再创建新的activity,否则在没有语法错误的情况下,程序不会有任何报错,但是在安装后打开会闪退,所以加gif图一定要提前备份好没加图前的代码,加了图之后就不能再加activity了,原因可能是修改了build.gradle后新建的activity会自动sync修改过的build.gradle
在app目录下(注意整个文件有两个build.gradle)的build.gradle中加入
dependencies {
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.2'
}
复制下面代码到你想要显示gif图片的位置
<pl.droidsonroids.gif.GifImageView
android:id="@+id/activity_gif_giv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="你的gif图片名,且必须是小写,放到带有drawable字样的文件夹下,在这里填写@它所在的文件夹+/它的名字就好,不能带gif后缀否则会报错"/>
示例,我的gif图片叫a.gif
<pl.droidsonroids.gif.GifImageView
android:id="@+id/g"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/f"
android:layout_centerInParent="true"
android:src="@drawable/a"/>
效果展示(由于上传限制我只能上传剪辑过的gif)
三十七,文字无法换行的解决方法
在对应控件添加下面一行即可
android:inputType="textMultiLine"