您的位置:首页 > 移动开发 > Android开发

神兵利器之Android Studio常用技巧和常见问题

2017-04-12 22:41 253 查看
工欲善其事,必先利其器

常用快捷键



Ctrl +alt+t 常用结构

Ctrl +alt+u 大小写

Ctrl +alt+m 抽出方法

Ctrl+alt+F 局部变量抽成为全局变量

双击shift 全局搜索

Ctrl+N搜索类

Ctrl+F文件中搜索

Ctrl+shift+N搜索文件

Ctrl+shift+F全局查找

Ctrl+F12 大纲

任何可以判断的语句后面加上.if

shift + F4 新窗口打开

ctrl+ o 重载

ctrl+tab 切换

查找项目中的方法或变量【Ctrl+Shift+Alt+N】

查找文件【Ctrl+Shift+N】

查找类【Ctrl+N】

在当前工程内查找文本【Ctrl+Shift+F】

在类中快速定位某个方法或属性Ctrl+F12

应用编译过程中,立即停止编译的方法

进入项目文件夹,然后输入以下命令即可

mac
./gradlew --stop

window
gradlew --stop


gradle更新办法

更新方法:

第一步:在你所在项目文件夹下:你项目根目录\gradle\wrapper\gradle-wrapper.properties

修改gradle-wrapper.properties最后一行的地址(我的是:distributionUrl=http://services.gradle.org/distributions/gradle-2.1-all.zip),最新gradle地址从官方下载的地方有。比如目前最新的版本是:gradle-2.13-rc-1-all。然后将上面的distributionUrl=http://services.gradle.org/distributions/gradle-2.1-all.zip替换成:distributionUrl=http://services.gradle.org/distributions/gradle-2.13-rc-1-all.zip就行。

第二步;在Android studio的终端Terminal输入gradlew build执行命令,等一会出现BUILD SUCCESSFUL,说明更新成功。

如下载慢,可参考如下一些方法,但是本人未亲测:

http://ask.android-studio.org/?/question/70

http://blog.csdn.NET/u012306714/article/details/40783021

附上官网地址和gradle各版本下载地址:

官网:http://gradle.org/release-candidate/

gradle各版本下载地址

http://services.gradle.org/distributions

下载到目录:C:\Users\mo.gradle\wrapper\dists

可以预览而且在手机上不显示的功能

'tools:something="value"'属性




Android Studio导入jar后无法识别、但项目能正常运行的问题

Android Studio默认的jar存储位置和eclipse不同!jar必须放在src/main/jniLibs文件夹下,同样so文件必须放在src/main/jniLibs/armeabi中。

libs放aar文件

加入jdk1.8支持

project build 添加

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath 'me.tatarka:gradle-retrolambda:3.3.0'
}
}


module 添加

apply plugin: 'me.tatarka.retrolambda'


127.0.0.1:5037: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次

打开cmd输入

netstat -ano | findstr 127.0.0.1:5037


在任务管理器关掉相应的程序

或者使用adb idea 点击 start app 重新restart一下即可

常用插件

Genymotion插件

打开settings界面里找到plugins设置项,点击右侧的Browser,搜索栏里输入genymotion关键字,可以看到右侧已经搜索到插件,点击install安装

android-butterknife-zelezny

右键初始化

Gsonformat

可根据json数据快速生成java实体类

右键选择gsonformat

Lifecycle Sorter

可以根据Activity或者fragment的生命周期对其生命周期方法位置进行先后排序,快捷键Ctrl + alt + K

JsonOnlineViewer

可实现直接在android studio中调试接口数据,可以选择请求类型,自定义请求头及请求体,json数据格式化后展示

butterKnife

android code generator

android selectors gnerate

Postfix completion

后缀

Rxjava配置

compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
compile 'io.reactivex:rxjava:1.2.0'
compile 'io.reactivex:rxandroid:1.2.0'


Android Studio关闭拼写错误提示

File–>Settings,在左侧面板选择Editor–>Inspections,右侧找到Spelling选项,将其后面复选框的对勾去掉,然后保存即可

自动import

File–>Settings,在左侧面板选择General–>Auto Import,右侧选中Add unambiguous imports on the fly,然后保存即可。

改变logcat颜色



Log级别色值
VERBOSEBBBBBB
DEBUG0070BB
INFO48BB31
WARNBBBB23
ERRORFF0006
ASSERT8F0005

Android studio 更新



ButterKnife 8.0.1版本在AndroidStudio中的配置

http://www.jianshu.com/p/bf9018c1a7f6

Project的build.gradle文件中增加classpath

classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’

在Module的build.gradle文件中增加plugin

apply plugin: ‘com.neenbedankt.android-apt’

在Dependencies中增加下面两句

compile ‘com.jakewharton:butterknife:8.4.0’

apt ‘com.jakewharton:butterknife-compiler:8.4.0’

使用volley的时候HttpClient添加了jar依然报错 Android studio无法使用HttpClient解决

Android studio里在相应的module下的build.gradle中加入即可。

android {
useLibrary 'org.apache.http.legacy'
}


android studio 代码提示不区分大小写

setting - code completion



设置正在运行时的正式keystore





性能分析

android lint



android monitor

如何设置忽略文件:



这真是android studio的一个坑啊,将本地代码提交到svn服务器上有两种方式:VCS–>Import into version control–>share project或者import into subversion;强烈建议使用第二种!但是提交完之后本地并没有跟svn建立起连接,只是单纯的把代码提交了;提交完之后需要VCS–>checkout from version control–>subversion将刚才提交的代码拉到本地【速度很快,因为本地代码与svn服务器上代码一模一样】;然后才开始正式设置忽略文件:右键选中要忽略的文件【夹】–>TrotoiseSVN–>unversion and add to ignore list;将要忽略的文件都设置完之后再通过cvs提交一下,服务器上的代码也就自动忽略了;切记!!!万不可以通过share project来将本地代码提交到服务器上!否则本地设置忽略之后也没有用!!!!提交不到svn服务器上!!!

如何通过tortoisesvn将本地文件夹与svn服务器断开连接:

1、断开svn与服务器的连接:file–>setting–>version control 选中version control然后将右侧的subversion替换为none就可以了

2、右键你需要断开连接的文件夹【连接状态的话会有一个绿色对号】–>tortoisesvn–>Export–>找到你要断开的文件夹–>选中Remove from subversion–>刷新一下;绿色的对号消失就代表断开连接了

设置主题

https://github.com/xinghongfei/android-studio-setting

阿里巴巴出的快速编译方案

freeline

忽略文件写法

https://github.com/github/gitignore/blob/master/Android.gitignore

加快编译速度

http://blog.csdn.net/zero_and_one/article/details/42009487

http://blog.isming.me/2015/03/18/android-build-speed-up/

Log工具

http://blog.csdn.net/yy1300326388/article/details/45825343



Settings->Editor->Color & Fonts->Console Font 设置logcat字体大小

将application设置为library

1、bundle中apply plugin: ‘com.android.application’ 设置为 apply plugin: ‘com.android.library’

2、library剔除applicationId属性

添加AAR文件

项目budle设置

repositories {
flatDir {
dirs 'libs' //就是你放aar的目录地址
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile name: 'crouton', ext: 'aar'
}


遇到的错误

Error:Execution failed for task ‘:clean’. > Unable to delete directory :\build\intermediates

进入studio,进入settings,搜索instant run,进入该界面,有四个选项,第一个默认是打勾的,去其去掉就可以了

Resources中getDrawable(int)过时

使用ContextCompat.getDrawable(this,R.drawable.ic_polyline_pause)

getResources().getColor过时

使用 ContextCompat.getColor(context, R.color.my_color)

Duplicate files copied in APK META-INF/DEPENDENCIES 解决办法

在app的目录下找到build.gradle 这个文件,在android标签的最后面加入以下信息:

packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}


unspecified on project app resolves to an APK archive which is not supported

apply plugin: ‘com.android.application’

这句话告诉了Gradle将ModuleB编译称为application,也就是apk,这就是问题的所在;

解决方法:将上面该句改为:

apply plugin: ‘com.android.library’

Android Studio出现Error:No service of type Factory available in ProjectScopeServices.

根目录的build.gradle

buildscript {

repositories {

jcenter()

}

dependencies {

classpath ‘com.android.tools.build:gradle:2.1.3’

classpath ‘com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2’

classpath ‘com.github.dcendents:android-maven-gradle-plugin:1.3’

}

}

直接将’ classpath com.github.dcendents:android-maven-gradle-plugin:1.3’更新到1.4.1就可以解决问题了。

想在AS里试试GitHub,点击VCS–>Checkout from Version Control–>GitHub的时候弹出如下错误框:



1.从Github For Windows下载Windows版Github客户点并安装

2.安装成功后,连接你的GitHub账号

3.设置环境变量,添加git.exe的路径到Path。git.exe的路径类似:C:\Users\Your_Username\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\bin

如果不想设置环境变量,可以直接在AS里通过Setting–>Version Control –> Git –> Path to Git Executable里设置,设置路径例如:

C:\Users\Your_Username\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\bin\git.exe

设置完成后,再次点击VCS–>Checkout from Version Control–>GitHub的时候出现如下弹框,在AS可以正常连接github啦



官方案例导入不了

https://github.com/googlesamples/android-RecyclerView.git

添加chuck的支持

一个简单的Android OkHttp客户端HTTP 检查器

1、项目build.gradle中的dependencies添加

debugCompile 'com.readystatesoftware.chuck:library:1.0.4'
releaseCompile 'com.readystatesoftware.chuck:library-no-op:1.0.4'


2、OkHttpClient配置添加

ChuckInterceptor chuckInterceptor = new ChuckInterceptor(context.getApplicationContext());
chuckInterceptor.showNotification(true);
OkHttpClient client = builder
.addInterceptor(chuckInterceptor)
.build();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android android studio