在android/gradle projects项目root build.gradle中指定versionCode

Lan*_*tel 11 android gradle android-studio

我最近使用生产项目从Eclipse切换到Android Studio(用于测试目的),感觉非常棒.我非常喜欢gradle方式.

在Android Studio中,项目结构看起来(简化)类似于此

+RandomProject
|-+Random
| |- build.gradle (lets call it build2)
| |- [...]
|- build.gradle (lets call it build1)
|- [..]
Run Code Online (Sandbox Code Playgroud)

build1中文件默认拥有下列内容:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
Run Code Online (Sandbox Code Playgroud)

我想知道在(build1)文件中指定versionName和versionCode是否可能/一个好的做法,以便它将"继承"到build2文件.(如果是的话,怎么样?)

感谢您的投入.

Ser*_*kyi 19

您可以使用ExtraPropertiesExtension来完成.

RandomProject\build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
ext.compileSdkVersion=19
ext.buildToolsVersion="19"
ext.versionName="1.0.7"
ext.versionCode=7
Run Code Online (Sandbox Code Playgroud)

RandomProject\Random\build.gradle

android {

    compileSdkVersion rootProject.compileSdkVersion
    buildToolsVersion rootProject.buildToolsVersion

    defaultConfig {
        versionName rootProject.versionName
        versionCode rootProject.versionCode
    }
}
Run Code Online (Sandbox Code Playgroud)


Pie*_*our 8

新构建系统的网站现在有一个关于本技巧.它类似于Sergii的答案,但略有不同:

在根项目的build.gradle中:

ext {
  compileSdkVersion = 19
  buildToolsVersion = "19.0.1"
}
Run Code Online (Sandbox Code Playgroud)

在所有的android模块中:

android {
  compileSdkVersion rootProject.ext.compileSdkVersion
  buildToolsVersion rootProject.ext.buildToolsVersion
}
Run Code Online (Sandbox Code Playgroud)