sdk冲突记录

时间:2022-07-25
本文章向大家介绍sdk冲突记录,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

移除权限

移除第三方sdk的权限,根据合并规则,在高优先级的移除低优先级的

<uses-permission
    android:name="android.permission.VIBRATE"
    tools:node="remove" />

minsdk 冲突

在 AndroidManifest 根目录下添加 <uses-sdk tools:overrideLibrary="com.packagename"/>

com.packagename 这个包名看第三方依赖的清单文件中配置的包名


(下面开始凑字数?)

一个gradle引用另一个gradle的方法

base.gradle

ext.method1 {
    println "method1"
}
ext.method2 {
    param -> println "method2"
}
ext.method3 {
    param1, param2, param3 -> println "method3"
}

然后 app.gradle 中

apply from: '../build-base.gradle'
method1()
method2("a")
method3("a","b",3)

mac 下环境变量

在 ~/.zprofile 下配置环境变量

export ORG_GRADLE_PROJECT_storeFile='/xxx'
export ORG_GRADLE_PROJECT_storePassword='xxx'
export ORG_GRADLE_PROJECT_keyAlias="xxx"
export ORG_GRADLE_PROJECT_keyPassword="xxx"

ORG_GRADLE_PROJECT 前缀表示将后面的值加到 Gradle 的环境变量中去。

signingConfigs {
    release {
        storeFile file("${rootProject.hasProperty('storeFile') ? storeFile : "xxx"}")
        storePassword "${rootProject.hasProperty('storePassword') ? storePassword : "xxx"}"
        keyAlias "${rootProject.hasProperty('keyAlias') ? keyAlias : "xxx"}"
        keyPassword "${rootProject.hasProperty('keyPassword') ? keyPassword : "xxx"}"
    }
}

之所以先判断是否 hasProperty,不直接用,是因为别人的电脑可能没配置,在 build 的时候就会检查出错误来。