AndroidStudio常见问题
Gradle构建错误
1. 内存配置文件
1. 打开as安装目录/bin/studio64.exe.vmoptions文件,修改对应属性,属性没问题,看2
2. 本机JDK 的path变量 和项目的JDK路径不一致,将项目的JDK改为path的路径,统一。
2. Gradle DSL method not found: 'android()'
删除build.gradle的android{}
3. Gradle版本问题
本地gradle版本没有项目配置的版本,解决:联网下载对应gradle版本或者修改项目跟目下的build.gradle文件的classpath
classpath 'com.android.tools.build:gradle:2.1.0' // ALT+Enter
4. SDK版本问题
导入外部的项目或者library时,本地没有对应SDK版本和build-tools版本,联网下载或者修改对应module下的build.gradle的SDK版本
ps: 被依赖的library的minSdkVersion 要小于主项目的
android {
compileSdkVersion 22 // 编译版本
buildToolsVersion "21.0.1" // 构建工具版本
defaultConfig {
applicationId "com.letvloginsdk"
minSdkVersion 8 // 兼容的最小版本
targetSdkVersion 22 // 一般与编译版本一致
}
5. module依赖
出错module依赖了一个application的module,只有library才能被添加依赖,移除相关非library的依赖
6.运行项目
adb.png上面工具栏Tools—>Android—>Enable ADB
解决.png出现原因:当运行程序的时候打开DDMS会导致此问题
项目编译错误
1. 找不到R文件
找不到R文件,Canot Resolve Symbol R 原因:
项目res资源目录有报错,图片或者布局或者values问题,检查控制台Message栏,按照对应错误修改,无错后导R。
一般是带有id的布局文件某个属性或图片资源引发的错误,导致布局报错,R文件里有对应这个id的一个静态final常量,导致R文件也报错,最终找不到R文件。
项目运行错误
1. 多次添加一个View
同一个View对象被添加了多次,每个View只能有一个parent对象,检查代码,如果是因为代码问题导致的多次添加,修改代码;当需要多次执行添加代码,需要先进行移除:
if(view.getParent() != null) ((ViewGroup)view.getParent).removeView(view);
AS问题(bug)
1. 无法使用jar包的类(supporV4..)
已经导入了jar包,在External Libraries也有,但无法使用其中某个或所有的类,解决步骤:AS视图 File -> Invalidate Caches / Restart,然后点击对话框中的 “Invalidate and Restart”,清空 cache 并且重启。
版本控制(git)
添加忽略文件,分为2种情况:
1 从未提交到服务器(push)的文件,这种是未添加追踪(track)的,即未添加索引的,直接在.gitignore文件配置
2 已经添加追踪的文件,即已经提交到服务器的文件,只是配置添加到忽略文件不能解决,还需要其他操作,执行以下git命令
git status // 查看本地仓库当前状态
git rm -r --cached [file] // 清除单个文件,文件多直接执行下面的命令
git rm -r --cached . // 清除所有文件追踪
git add . // 添加文件
git commit -m "msg" // 提交
git push
ps: git命令行自动补全快捷键Tab键,包括命令及文件目录等
AndroidStudio 项目.gitignore文件常用配置
# Built application files
*.apk
*.ap_
*.iml
/.idea
# Files for the Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin
gen
.metadata
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log