Android Studio那些让我感觉到爽的地方

本文介绍了一系列提升Android Studio开发效率的方法,包括切换工程目录显示结构、全屏编辑代码、在线下载源码和包、使用ButterKnife和GsonFormat插件、安装Genymotion插件等。此外还介绍了配置BuildConfig、采用相对路径依赖Module、发布开源库、清除无用资源文件、定义模板快捷键、进行单元测试等实用技巧。
  1. 随意切换工程目录的显示结构

    wKiom1YTJyGTX4E5AABRWaWL_Vs674.jpg

    Project 如果要导入jar包,需要看到libs目录,切换到这个模式

      而且在这个目录,可以看到适配的多个文件夹,在Android目录里会将型号标记在XML文件后面。

    Android 只有java和res目录,看着干净

    Test  专门用于测试

  2. 全屏编辑代码模式

    wKiom1YTKTTQFuvTAAD7DjsZXJc277.jpg

    唐Y说:全屏写代码,这才是一个程序员真正应该做的事情。

3.编辑界面前后括号关联显示

  wKiom1YTKyyhM7iBAAD1A4dq7C0929.jpg

4.从网络直接下载源码和包

  比如v4包,直接下载后即可使用并且查看源码。

  dependencies 节点下会多出 compile 'com.android.support:support-v4:23.0.1'代码


5.AS+插件,开发就是这么爽

  http://blog.youkuaiyun.com/liang5630/article/details/46366901    

 注意ButterKnife插件,需要下载对应的jar包之后方可在右菜单中显示出来. 

 


 1)ButterKnife的使用:

     http://www.tuicool.com/articles/Q3mmay/

  

 2)GsonFormat插件:

    直接根据json数据生成实体bean

  

6.安装Genymotion插件

  http://jingyan.baidu.com/article/915fc414ea858e51394b209d.html  


7.可以升级就要升级

  之前用的1.4,后来用的1.5.1,build的速度超级快!


8.配置BuildConfig

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
android {
     compileSdkVersion COMPILE_SDK_VERSION  as  int
     buildToolsVersion BUILD_TOOLS_VERSION  as  String
 
     defaultConfig {
         minSdkVersion  11
         targetSdkVersion COMPILE_SDK_VERSION  as  int
         versionCode VERSION_CODE  as  int
         versionName VERSION_NAME  as  String
 
         File file = project.rootProject.file( 'local.properties' );
         def  needLog =  null
         if  (file.exists()) {
             Properties p =  new  Properties()
             p.load(file.newDataInputStream())
             needLog = p.getProperty( "needLog" )
         }
         buildConfigField  "boolean" "DOWNLOAD_NEED_LOG" , needLog ==  "true"  "true"  "false"
 
 
     }
     。。。
}

 编译的时候会自动生成BuildConfig.java

 

1
2
3
4
5
6
7
8
9
10
public  final  class  BuildConfig {
   public  static  final  boolean  DEBUG = Boolean.parseBoolean( "true" );
   public  static  final  String APPLICATION_ID =  "com.liulishuo.filedownloader" ;
   public  static  final  String BUILD_TYPE =  "debug" ;
   public  static  final  String FLAVOR =  "" ;
   public  static  final  int  VERSION_CODE =  11 ;
   public  static  final  String VERSION_NAME =  "0.2.0" ;
   // Fields from default config.
   public  static  final  boolean  HTTP_LENIENT =  true ;
}


拓展

  http://www.zhihu.com/question/21534929




9.采用相对路径依赖Module

  http://stackoverflow.com/questions/28419101/android-studio-how-to-add-a-project-using-relative-path

  settings.gradle所在的目录可以用rootProject.projectDir,也可以用settingsDir。


  但是采用相对路径出现了这样一个问题:Error:Configuration with name 'default' not found.



10.发布开源库

  1)通过JFrog Bintray平台发布 


  http://blog.youkuaiyun.com/hejjunlin/article/details/52452220


  http://blog.youkuaiyun.com/yanzhenjie1003/article/details/51672530 (十分详细)  

  

  http://www.w2bc.com/article/196530 (也比较的详细)

 

  http://www.jcodecraeer.com/a/anzhuokaifa/Android_Studio/2015/0227/2502.html (如何 

   include)  


  一个很坑爹的问题:http://stackoverflow.com/questions/39400451/how-to-publish-android-library-to-jfrog-bintray,repo 指的并不是仓库的类型,而是你在bintray上创建的仓库的名字。

  

  http://blog.youkuaiyun.com/linhh90/article/details/50510725


  2)通过JitPack平台发布Github开源项目,生成Compile链接。

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

   需要注意JitPack可能会有缓存,导致你的compile链接不对,需要重新登录一下。

  

   --->关于JitPack发布开源项目的坑:

      1)ShareOn Github一定不要开VPN

      2) 缓存十分的严重,把github上的库删除了,重新上传,如果名字一样会出现各种问题。 

      3)share项目到github上后,要建立一个release,否则jitpack无法生成compile链接。

  

  //TODO 项目还是没有发成功

 



11.清除无用的资源文件

  http://www.waychel.com/shi-yong-android-studiode-lintqing-chu-wu-yong-de-zi-yuan-wen-jian/

  清除资源文件时,要注意有的被第3方jar包中的类引用的话,也会被视作无效。所以在清除之后,

一定要及时的clean 和 rebuild一下,否则错误可能会在以后显示出来。



12.定义模板快捷键

  http://blog.youkuaiyun.com/DesmondJ/article/details/47017205


 

13.单元测试

  http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0505/2835.html


14.gradle配置

  http://www.cnblogs.com/wxishang1991/p/5457878.html  (****)


  http://blog.youkuaiyun.com/fuchaosz/article/details/51567808 (讲解得很到位)

  wKioL1gAUCfBKEySAAJ-MNukz3k073.png    



15.gradle命令行调试

 打印的信息比UI界面详细

 gradle clean --info --debug --stacktrace assembleDebug 

  



16.android studio 2.2.1 

   1)Instant Run的时候,Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.解决办法

 解决办法:在AS的菜单栏,Tools->Android ->Enable ADB integration 勾选就可以了


  2)提示

      Unsupported method: AndroidProject.getPluginGeneration() while running project

  http://stackoverflow.com/questions/39591531/unsupported-method-androidproject-getplugingeneration-while-running-project

  有的项目不支持这个Instans Run。





   --------------关于intant-run的一些不成熟的地方:-------------------

   1)明明方法存在,却说不存在。

 java.lang.NoSuchMethodError: No static method is2DateSame(Ljava/util/Date;Ljava/util/Date;)Z in class Lcom/btsj/hpx/util/DateUtil; or its super classes (declaration of 'com.btsj.hpx.util.DateUtil' appears in /data/data/com.btsj.hpx/files/instant-run/dex/slice-slice_2-classes.dex) 

 


17.debug调试

 http://www.2cto.com/kf/201506/408358.html



18.弹出常用的代码块:

 http://blog.youkuaiyun.com/wuqilianga/article/details/51499236



19.什么是aar文件及如何在本地引用aar文件?

 http://jingyan.baidu.com/article/cbcede071d569d02f40b4dd6.html


20.APK瘦身

 http://www.wtoutiao.com/p/j20Nad.html

 1)Android项目打包时指定支持的CPU架构,防止多余so文件

       

在项目的build.gradle的   

    defaultConfig中添加 
    ndk {
        abiFilters"armeabi-v7a", "x86" 
    } 

 这样,我的APK一下子从62M到了45M了。


21.调试神器 JRebel,快速编译。

 http://stormzhang.com/2016/11/21/use-jrebel-for-android/

  

22.使用技巧

 http://mp.weixin.qq.com/s?__biz=MzA4NTQwNDcyMA==&mid=402416974&idx=1&sn=a8fd70a65ff3973758e4a7975c361139&scene=21#wechat_redirect

 包括添加书签、折叠展开代码块


 http://mp.weixin.qq.com/s?__biz=MzA4NTQwNDcyMA==&mid=402416974&idx=2&sn=136e2a77c9bdd2cf971143d7f35e57d2&scene=21#wechat_redirect

 矩形选择代码





      本文转自屠夫章哥  51CTO博客,原文链接:http://blog.51cto.com/4259297/1700331,如需转载请自行联系原作者




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值