配置缓存文件夹
- 进入安装目录的bin目录下,找到idea.properties,打开文件
找到 idea.config.path与idea.system.path,去掉前面的“#”注释,配置路径为自己需要的即可!
修改好后如果不想 AndroidStudio 重新更新下载,那么直接把文件夹从原来的地方剪切到你设置的地方去吧。 - 配置gradle路径
在环境变量中加上 GRADLE_USER_HOME 并指向你的新地址就OK! - m2
包重复加载问题
As会报类似:Multiple dex files define Landroid support/v4 的错误,归根结底就是包重复加载了!
解决示例:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.0'
compile ('in.srain.cube:cube-sdk:1.0.42.1'){
exclude group: 'com.android.support', module: 'support-v4'
}
compile files('libs/android-async-http-1.4.6.jar')
}
设置文件编码格式
设置日志输出颜色
1.File->Settings 或Ctrl + Alt +S
2.找到 Editor -> Colors &Fonts -> Android Logcat 或在上面的搜索框中输入Logcat
3.点中Verbose , Info, Debug等选项,然后在后面将Use Inberited attributes 去掉勾选
4.再将 Foreground 前的复选框选上,就可以双击后面的框框去选择颜色了
5.Apply–>OK
Log级别 色值
VERBOSE BBBBBB
DEBUG 0070BB
INFO 48BB31
WARN BBBB23
ERROR FF0006
ASSERT 8F0005
设置自动导包及显示行数,自动提示
自动换行
设置行宽
就是那条右标准线的位置:Setting–>Editor–>Code Style,右侧找到Right margin (columns),默认值是100,公司的显示器分辨率是1680*1050,设置成120比较合适。
设置格式化的时候自动断行到行宽位置
这样就不用往右拖看代码了:Setting–>Editor–>Code Style–>Java,点击右侧标签Wrapping and Braces下勾选Line breaks和EnSure right margin is not exceeded
取消AS启动时每次启动上次的项目
这一点如果你使用AS比较久了,你就会很讨厌这个功能,加入说我上次同时开启了5个项目,我关闭了,下次启动全部依次给我打开了,而且在windows上,有时直接把电脑卡死机。
添加插件的三种方式
1.官方插件
这里已Meteor为示例,首先点击官方插件
安装完成之后需要重启!
2.民间插件
与安装官方插件类似,这里以Genymotion模拟器为例,首先点击民间插件按钮 :
安装之后,打开设置,配置Genymotion路径即可,不再赘述。
3.本地插件
本地插件安装更加的简单,我们首先需要下载好插件包(jar或者zip格式的),然后我们点击本地插件按钮
这是会弹出选择插件包,我们选择插件包的然后选择ok即可, 最后一定要重启AS生效!
4去掉没用的插件,加快运行速度
进入设置,选择Plugins ,去掉一些没用的插件,复选框不选择即可
自动删除没有用的资源
android {
buildTypes {
release {
minifyEnabled true
shrinkResources true
}
}
}
对于图片资源和xml资源,我自己还有一套方法,就是使用[Find usages] 这个功能 :我们先选中一个资源,然后点击右键,选择[Find usages]
操作 Mac Windows/Linux
查找引用 Option + F7 Alt + F7
添加第三方库的6种方式(Jar,module,so等)
1.直接搜索法
打开系统设置,注意不是as设置按钮:
这里以查找Picasso为例,注意要写全名,不然搜不到
点击ok按钮添加即可,gradle会自动下载相关文件。
这是在代码中已经有了提示:
2.添加jar包
切换project视图:
找到app > libs ,如果没有libs就新建一个;如果是eclipse导出过来的项目那么这个libs目录直接在根目录下,这点切记!添加完成jar后,点击重新编译按钮即可!
3. 添加Module
直接拷贝库工程至项目根目录下,按f5键刷新工作空间,按下f4按键进入项目设置
4.Gradle 直接添加法
找到build.gradle(Module:app),然后找到dependencies,这里我们可以看到我们刚才添加的库,刚才那个项目设置是和这里是一一对应的。
然后我们重新点击Build按钮,测试(这里有时候build一两次是不可以的,需要多build几次,原因你懂得)
5.添加动态so库
复制lib下的所有文件,到AS的app > libs下:
然后找到build.gradle(Module:app) 文件,在android节点下添加如下内容
sourceSets {
main {
jniLibs.srcDirs =['libs'] }}
6.添加.so简单粗暴法
1.将项目视图切换到 project
2.在main文件夹下新建一个 jniLibs 文件夹
3.将需要的so动态库文件添加到 jniLibs 文件夹中
7.添加本地aar包
这里演示的aar文件为:genius.aar
第一步:拷贝到:libs目录
第二步:build.gradle 配置文件中更改为
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name:'genius', ext:'aar')
}
分别添加了”repositories” 与更改了 “dependencies”,然后重新编译一次项目就可以正常使用了。
这时打开你的项目地址”\build\intermediates\exploded-aar\”你会发现下面多了一个文件夹”genius”打开后能看见里边包含了一个”classes.jar”文件与一些资源文件和”R.txt”文件。
8.导入本地类库
这里以使用AStickyHeader为例子,直接使用library目录,将其里面的文件拷贝到根目录AStickyHeader-master中,删除测试的例子
接下来主要分两步:
1.项目目录下的settings.gradle文件添加使用的库
2.app目录下的build.gradle添加编译添加的库
调试代码
Test code:
添加断点与Eclipse一致,双击该行即可:
快捷键Shift + F9,或者点击
看一下调试面板:
简单调试
至于调试,我把快捷键设为和eclipse一致的了,不再赘述!
观察变量与设置变量值
如果我们想观察1个或者几个变量的值的变化,如果我们在Variables显示面版中观察如果我这里有太多太多的自定义变量和系统变量了,那么就难观察了,我们可以做如下操作:
点击Watches,点击+号,然后输入变量的名称回车就OK了,而且会有历史记录!
在程序中有很多的条件语句和循环语句,调试也是比较耗时的,我们可以通过快速设置变量的值来加快调试速度,我们可以做如下操作:
选择[Variables]中的变量名然后点击[右键],选择[Set Value..]或者选择之后直接F2
常见问题
查看MD5与SHA1
Android Studio中没用查看MD5与SHA1的可视化界面,但我们可以通过命令的方式查看MD5与SHA1。
具体方式如下:
打开终端进入到C:\Users\你的用户名.android>目录下,然后在终端中输入keytool -v -list -keystore debug.keystore命令即可查看调试环境下的MD5与SHA1。如图:
提示:keytool 是jdk中的一个工具,如果提示’keytool’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。”则可以将你的jdk安装目录下的bin目录添加到系统变量中即可。
合并错误
Error:(26, 9) Attribute application@icon value=(@drawable/logo) from AndroidManifest.xml:26:9
Error:(28, 9) Attribute application@theme value=(@style/ThemeActionBar) from AndroidManifest.xml:28:9
is also present at XXXX-trunk:XXXXLib:unspecified:15:9 value=(@style/AppTheme)
Suggestion: add ‘tools:replace=”android:theme”‘ to <application> element at AndroidManifest.xml:24:5 to override
Error:Execution failed for task ‘:XXXX:processDebugManifest’.
> Manifest merger failed with multiple errors, see logs
原因:
AS的Gradle插件默认会启用Manifest Merger Tool,若Library项目中也定义了与主项目相同的属性(例如默认生成的android:icon和android:theme),则此时会合并失败,并报上面的错误。
方法:在Manifest.xml的application标签下添加tools:replace=”android:icon, android:theme”(多个属性用,隔开,并且记住在manifest根标签上加入xmlns:tools=”http://schemas.android.com/tools”,否则会找不到namespace哦)
设置签名
signingConfigs {
release {
storeFile file("/xxx.jks")
storePassword "123456789"
keyAlias "xxx"
keyPassword "123456789"
}
}
buildTypes {
debug {
signingConfig signingConfigs.release
}
release {
signingConfig signingConfigs.release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
非法字符: ‘\ufeff’
在将项目导入到Studio时提示 错误:非法字符: ‘\ufeff’,编译器没报错但编译出错,比较头疼,后来发现原因是因为没有采用UTF-8无BOM模式,用 Notepad++ 或其他编辑器将文件打开,更换下格式就可以解决:
duplicate files during packaging of APK
android {
packagingOptions {
exclude 'META-INF/LICENSE.txt'
}
}