Gradle 差异化构建

  • Compile 默认的依赖方式,任何情况下都会依赖。
  • Provided 只提供编译时依赖,打包时不会添加进去。
  • Apk 只在打包Apk包时依赖,这个应该是比较少用到的。
  • TestCompile 只在测试时依赖
  • DebugCompile 只在Debug构建时依赖
  • ReleaseCompile 只在Release构建时依赖

 

1.实现差异化构建

这里我们在src目录下建立debug目录和release目录,并在这两个目录下面建立一个SdkManager类,这里要注意debug和release的包结构需要相同,且不能在main目录下仍有相同的类。

public class TestApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        SdkManager.init(this);
    }
}


2. 子module debugCompile 主工程引用
android {
     ...
    publishNonDefault true
}
dependencies {
    ...
    debugCompile 'com.facebook.stetho:stetho:1.4.2'
}


主工程要添加如下代码,让主工程打debug包时,子工程也打debug. 主工程打release包时,子工程也打release包
dependencies {
     ...
    debugCompile project(path:':testlibrary',configuration:'debug')
    releaseCompile project(path:':testlibrary',configuration:'release')
}


 

posted @ 2017-05-02 10:31  吴添龙  阅读(288)  评论(0编辑  收藏  举报