android gradle 随手记

      匆忙的由eclipse转到android studio,第一次接触到了gradle。平时都是基本用法,按照别人例子模仿着写也没有什么问题。即使出现什么问题,网上也各种各样的解决方案。

但总觉得用起来不是很顺手,也就将就着。直到看到其他人写法和用法,发现新的天地,就萌发把gradle好好看一看,随手记下一些东西。下面都是android 方面关于gradle方面的。

 

BuildConfig 灵活配置

     有的时候,需要通过Debug控制,日志打印,已经切换内外网地址。完全可以在buildtype来控制。

     例子1 debug版本打开日志开关

buildTypes {
        release {
            ...
        }
        debug{
          ...
            buildConfigField("Boolean" ,"debug" ,"true")
        }
    }

  在代码里面,就可以这样

if (BuildConfig.debug)
   {
            Log.i("","");
   }

   这个是Build Vaiant里面的选择对应的。我这里只在debug模式定义了debug,我在Vaiant里面切换到release,就会提示出粗。

        这个使用是buildConfigField(类型,变量名,值)

        如果是修改资源里面的值,同样可以。使用是resValue(类型,变量名,值)

如何给别人提供module

       合作开发的时候,如何方便别人使用。

      提供一种,我见到的方式,在和buid.gradle同级创建一个module_setting.gradle,别人需要是你的module,只需要在他的setting.gradle里面添加

apply from: "xx/xx/module_settings.gradle

  module_setting.gradle 里面增加

File getProjectDir(String dir) {
    return new File("${buildscript.sourceFile.getParent()}/${dir}")
}

include ':xxx'
project(':xxx').projectDir = getProjectDir('')

 定义库的版本(更新12/15)

     项目大了之后,依赖的库版本就会变多,尤其是多module,管理起来很复杂。通过定义变量来集中一处管理版本,更方便简介。android studio 自动生成依赖也是这样的用法。

     例如某个module下面依赖一个kotlin的库

compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

通过
$kotlin_version
定义好一个变量,然后在项目的build.gradle中buildScreipt括号里面增加
 ext.kotlin_version = '1.2.10'
 这样就可以在所以module使用了。

后续看到gradle知识点,都会补充在这里

      

 

posted @ 2017-12-15 08:55  忙里偷闲  阅读(229)  评论(0编辑  收藏  举报
广东财富东方律师事务所