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

工欲善其事,必先利其器

##常用快捷键

这里写图片描述

  • Ctrl +Alt+M 抽出方法
  • Ctrl+Alt+F 局部变量抽成为全局变量
  • F11 加书签
  • Ctrl +alt+t 常用结构
  • Ctrl +alt+u 大小写
  • 双击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,说明更新成功。

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

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

  2. 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级别 |色值|
|—
|VERBOSE| BBBBBB
|DEBUG | 0070BB
|INFO | 48BB31
|WARN | BBBB23
|ERROR | FF0006
|ASSERT | 8F0005

##Android studio 更新

这里写图片描述

##ButterKnife 8.0.1版本在AndroidStudio中的配置
http://www.jianshu.com/p/bf9018c1a7f6

  1. Project的build.gradle文件中增加classpath
    classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’

  2. 在Module的build.gradle文件中增加plugin
    apply plugin: ‘com.neenbedankt.android-apt’

  3. 在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();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值