gradle : gradlew和gradle的区别

  1. Gradlew是包装器,自动下载包装里定义好的gradle 版本,保证编译环境统一,gradle 是用本地的gradle
  2. 例子

a).本地安装的gradle 是 3.4 版本

b).项目中使用的gradle 是3.3 版本

      E04F66F7-D284-46E8-9EB9-EF52A5A4B466
      c)9C66A46D-8BB7-4305-A679-AE737E47406F

d)  使用 gradle build   打印出来的version 是 3.4 版本

使用 ./gradlew build 打印出的version 是 3.3 版本

参考:

  1. https://www.zhihu.com/question/45403949
  2. https://www.zybuluo.com/xtccc/note/275168 [中文翻译]
  3. https://docs.gradle.org/current/userguide/gradle_wrapper.html  [官方文档]

android : gradle 和 Plugin for Gradle 对应问题

  1.  android studio  gradle 的版本 如果跟 Plugin for Gradle  没对应上,经常出现编译问题
  2.  gradle 版本 [参考链接3]
    • 30963F53-6E23-4634-98A4-3DD6E0CF7963
    • A68D37B3-DA2C-45ED-9B10-4397839168A2
    • 00D87FFF-29C2-4179-9054-2BA822319315
    • 在编译的时候,将gradle的版本号打出来比较直观9C66A46D-8BB7-4305-A679-AE737E47406F

3.  Android Gradle Build Tools 版本号 [参考链接2]

buildscript {
  ...
  dependencies {
    classpath 'com.android.tools.build:gradle:2.3.0'
  }
}

12DA29B0-3919-40E3-AD13-51F211A55A45

 

参考:

  1. http://www.jianshu.com/p/f3c0adf8c897
  2. https://developer.android.com/studio/releases/gradle-plugin.html  [plugin 跟 gradle 配对图]
  3. https://services.gradle.org/distributions/  [gradle 版本]
  4. http://stormzhang.com/android/2016/07/02/gradle-for-android-beginners/

gradle : 编译渠道版本

1. 动态替换AndroidManifest.xml中的文本

如上${UMENG_CHANNEL_VALUE}就是一个占位符,然后我们在gradle的defaultConfig;里这样定义脚本:

android {
defaultConfig {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: ‘dev’]
}
}

android {
productFlavors {
google{
applicationId “org.flysnow.demo.google”
manifestPlaceholders.put(“UMENG_CHANNEL_VALUE”,’google’)
}
baidu{
applicationId “org.flysnow.demo.baidu”
manifestPlaceholders.put(“UMENG_CHANNEL_VALUE”,’baidu’)
}
}
}

productFlavors.all { flavor ->
manifestPlaceholders.put(“UMENG_CHANNEL_VALUE”,name)
}

参考:
【1】 http://www.flysnow.org/2015/03/30/manage-your-android-project-with-gradle.html 【详细】
【2】 http://hugozhu.myalert.info/2014/08/03/50-use-gradle-to-customize-apk-build.html
【3】https://rinvay.github.io/android/2015/04/09/Build-Android-with-Gradle/
【4】