美文网首页
gradle加入不同的代码

gradle加入不同的代码

作者: 普通的程序员 | 来源:发表于2020-04-19 16:34 被阅读0次

    现在假设有两个版本 debug,release

    debug版本需要使用某个第三方库,且需要在java代码里进行设置(这就涉及到import的操作了),因此常规的debugImplemention 脚本语法无法满足我们的需求。

    需要sourceSet的帮助

    假设我们的release包是不需要在application里对LC进行设置的,
    那么我们指定release的application为 normalApplication.class
    需要对LC进行配置的debug版本的 application为 TestApplication

    1.先对清单文件做配置,占位符


    image.png

    2.gradle文件进行配置

    android {
       
        defaultConfig {
          ...
            manifestPlaceholders = [applicationClassName: "NormalApplication"]
        }
        buildTypes {
            release {
              ...
            }
            debug {
                ...
                manifestPlaceholders = [applicationClassName: "TestApplication"]
            }
        }
    
        sourceSets.debug {
            java.srcDirs 'src/debugLC/java'
        }
    
    }
    
    dependencies {
        ...
        debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.2'
    }
    

    这样就能在打包的时候,通过gradle脚本打包指定不同的application

    然后通过sourceSet.debug来进行物理隔离
    只有在debug版本的时候,才会把src/debugLC/java下的java资源编译进去。

    项目结构


    image.png image.png image.png

    以上,完成了LC的物理隔离,也就不需要LC no-op包了

    相关文章

      网友评论

          本文标题:gradle加入不同的代码

          本文链接:https://www.haomeiwen.com/subject/xwfvbhtx.html