build.gradle 3.11 KB
group = "com.example.speech_to_text_alibaba"
version = "1.0"

buildscript {
    repositories {
        google()
        mavenCentral()
        maven() {url 'https://mvnrepo.alibaba-inc.com/api/protocol/1/MAVEN/thirdparty'}
    }

    dependencies {
        classpath("com.android.tools.build:gradle:7.3.0")
    }
}

// String mavenLocalPath = project(":speech_to_text_alibaba").mkdir("m2repository").absolutePath
// 定义一个方法, 用于获取当前moudle的dir
def getCurrentProjectDir() {
    String result = ""
    rootProject.allprojects { project ->

    if (project.toString().contains ("speech_to_text_alibaba")) {
            if (project.properties.get("identityPath").toString() == ":speech_to_text_alibaba") {
                // 这里是flutter的约定, 插件的module名是插件名, :是gradle的约定. project前加:
                //可能有朋友会纳闷这个本地的地址具体指向哪里,其实指向的是你插件项目存放的本地路径
                // D:\flutter\.pub-cache\git\adhub_plugin-97145c094a41ad698e72896dbe0440842b180918\android\aar
                result = project.properties.get("projectDir").toString()
            }
        }
        // if (project.properties.get("identityPath").toString() == ":speech_to_text_alibaba") { // 这里是flutter的约定, 插件的module名是插件名, :是gradle的约定. project前加:
        //     result = project.properties.get("projectDir").toString()
        // }
    }
    return result
}







rootProject.allprojects {
    // 这个闭包是循环所有project, 我们让这个仓库可以被所有module找到
    def dir = getCurrentProjectDir()
    repositories {
        google()
        mavenCentral()
        maven() {url 'https://mvnrepo.alibaba-inc.com/api/protocol/1/MAVEN/thirdparty'}
        maven { // 添加这个指向本地的仓库目录
            url "$dir/aar"
        }
    }
}

apply plugin: "com.android.library"



android {
    if (project.android.hasProperty("namespace")) {
        namespace = "com.example.speech_to_text_alibaba"
    }

    compileSdk = 34

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }

    defaultConfig {
        minSdk = 21
    }

    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
    lintOptions {
        abortOnError false
    }


    repositories {


        // flatDir {
        //     dirs 'libs'
        // }
    }


    dependencies {
        testImplementation("junit:junit:4.13.2")
        testImplementation("org.mockito:mockito-core:5.0.0")
        implementation files('libs/fastjson-1.1.46.android.jar')
        implementation "com.pgyer:sdk:3.0.9" // 添加这个, 接着点sync project with gradle file 刷新一下项目就可以了. 是使用api还是implementation根据你的实际情况来看就好了
    }

    testOptions {
        unitTests.all {
            testLogging {
               events "passed", "skipped", "failed", "standardOut", "standardError"
               outputs.upToDateWhen {false}
               showStandardStreams = true
            }
        }
    }
}