puzhibing
2026-08-21 5fa94b3718b4a78a4fcea4c97652b0ef20b7de3a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
import java.text.SimpleDateFormat
import java.util.Date
 
apply(plugin = "com.huawei.agconnect")
plugins {
    alias(libs.plugins.android.application)
    alias(libs.plugins.kotlin.android)
    id("kotlin-kapt")
    id("kotlin-parcelize")
}
 
val APPLICATION_ID = "com.xw.yunwei"
 
android {
    namespace = APPLICATION_ID
    compileSdk = 36
 
    defaultConfig {
        minSdk = 26
        targetSdk = 36
        versionCode = 4
        versionName = "1.3"
 
        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
 
        ndk {
            // 选择要添加的对应cpu类型的.so库。此处仅为示意,推送支持所有主流类型,请根据实际需求选择
            abiFilters.addAll(listOf("arm64-v8a", "armeabi-v7a"))//, "x86", "x86_64"
        }
        vectorDrawables.useSupportLibrary = true
 
        // 华为
        manifestPlaceholders["PUSH_HW_CLIENT_ID"] = "117680933"
        manifestPlaceholders["PUSH_HW_CLIENT_SECRET"] = "1c18a9c784ff6e47242af5a60e3d22c658b0d76757ede5ba4e15ee329cab8d4a"
        // 荣耀
        manifestPlaceholders["PUSH_RY_APP_ID"] = "104570357"
        manifestPlaceholders["PUSH_RY_APP_SECRET"] = "67f554e43f744e89fed9d09ca21c0cfa584665ba56af0d6f46c11af2434e577d"
        // VIVO
        manifestPlaceholders["PUSH_VV_APP_ID"] = "106095676"
        manifestPlaceholders["PUSH_VV_APP_KEY"] = "27f39e188ef0acce7fd7de80dc9edb55"
        manifestPlaceholders["PUSH_VV_APP_SECRET"] = "23a58cd0-9a17-418c-bdcc-236fafe8692a"
        // OPPO
        buildConfigField("String", "PUSH_OP_APP_KEY", "\"3a308dc2996f44b78400f0e48500616d\"")
        buildConfigField("String", "PUSH_OP_APP_SECRET", "\"dbc906a01ff944009482d2b4cc549563\"")
    }
 
    signingConfigs {
        create("release") {
            storeFile = file("../yunwei.jks")
            storePassword = "yunwei123"
            keyAlias = "yunwei"
            keyPassword = "yunwei123"
        }
    }
 
    buildTypes {
        getByName("release") {
            isMinifyEnabled = false
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
            signingConfig = signingConfigs.getByName("release")
        }
        getByName("debug") {
            isMinifyEnabled = false
            signingConfig = signingConfigs.getByName("release")
        }
    }
 
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }
 
    kotlinOptions {
        jvmTarget = "17"
    }
 
    dataBinding {
        enable = true
    }
 
    buildFeatures {
        buildConfig = true
    }
 
    flavorDimensions.add("api")
    productFlavors {
        create("local") { // 本地开发环境
            dimension = "api"
            applicationId = APPLICATION_ID
 
            manifestPlaceholders["APP_NAME"] = "@string/app_name_dev"
            manifestPlaceholders["icon"] = "@mipmap/ic_launcher"
 
            buildConfigField("String", "DEV_API_HOST", "\"http://221.182.45.100:8000/\"")
            buildConfigField("String", "API_HOST", "\"http://rt-admin.test.xiaopeng.local/\"")
            buildConfigField("String", "DEV_WS_URL", "\"ws://221.182.45.100:8888/websocket\"")
            buildConfigField("String", "WS_URL", "\"ws://rt-admin.test.xiaopeng.local/websocket\"")
            //翼虎appId
            buildConfigField("String", "YIHU_APPID", "\"RoboTaxi-admin\"")
            //翼虎appSecret
            buildConfigField("String", "YIHU_APP_SECRET", "\"9UvdqMuZRRTNcpeA\"")
            //翼虎公钥
            buildConfigField("String", "YIHU_PUBLIC_KEY", "\"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAko2oXAtrtl2BGUZjjDZBbEtbYd8pddah hqTbQ68F59no7eZGdfE4PQyKnPZTJSR0XApwydqB6nKEID58bej3F7p/2mL7i/s9+9zdepMSpg9b 1nTi730Fs1pzEalew7V839/Wg/RPFr6xZEqU8oaKWT6fe4anRAOI7aCgA8CxEB8YwQvrMTYetFnE QRGHlziKKDHmurKXToGdu2SSXzYLy8Cl2X79z3rBUBQpMZI63g93wcRIToSP8DUkbQFY64cXa6cT ZyBrt72K2Dx4IfuLb7K1BZbZxXswN/Lx4rQ7anQ8HFtA5bE7sNznj16pgoI3aUKjVm45JWtxTAWa XrSwTQIDAQAB\"")
            //翼虎网络域名
            buildConfigField("String", "YIHU_API_HOST", "\"https://sso.test.xiaopeng.com/sso/\"")
        }
        create("uat") { // 预发环境
            dimension = "api"
            applicationId = APPLICATION_ID
 
            manifestPlaceholders["APP_NAME"] = "@string/app_name_dev"
            manifestPlaceholders["icon"] = "@mipmap/ic_launcher"
 
            buildConfigField("String", "DEV_API_HOST", "\"\"")
            buildConfigField("String", "API_HOST", "\"https://rt-mt.deploy-test.xiaopeng.com/\"")
            buildConfigField("String", "DEV_WS_URL", "\"\"")
            buildConfigField("String", "WS_URL", "\"wss://rt-ws.deploy-test.xiaopeng.com/websocket\"")
            //翼虎appId
            buildConfigField("String", "YIHU_APPID", "\"RoboTaxi-admin\"")
            //翼虎appSecret
            buildConfigField("String", "YIHU_APP_SECRET", "\"FcJ8gsdgaTKsIhD4\"")
            //翼虎公钥
            buildConfigField("String", "YIHU_PUBLIC_KEY", "\"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm4xWZvcXI4Ae8RbhvjwKclShdhxYjnGXkLaHNmAp1npExV3XaQygAyCd9HXrjPOkCQoTOfk7LiUL35RarAqurHuSk/PArOmOBiAe+8KjeQuoVTINX43bYCgZhBpDWURbANQYsA5Sw6OkjsjFtvFbwrYackSKqwtwOpeXCTrL/X+KmQJb1sMEHfaHGv3XStX4Hl98/vTJpysXANqiszuL6Pvd4zl1zZpkdzirCq6N1Hl5YgAZtmrHP5vu41iMChpZBnvG+yNWBfVqTFDiW+C1vpWmO2WSw3QnIsWDsXuoCRhL8zaw2zQG1u1wSeuWN9hJng4h8nWULSv7gTHTXwTgDQIDAQAB\"")
            //翼虎网络域名
            buildConfigField("String", "YIHU_API_HOST", "\"https://sso-xt.deploy-test.xiaopeng.com/sso/\"")
        }
        create("prd") { // 正式环境
            dimension = "api"
            applicationId = APPLICATION_ID
 
            manifestPlaceholders["APP_NAME"] = "@string/app_name"
            manifestPlaceholders["icon"] = "@mipmap/ic_launcher"
 
            buildConfigField("String", "DEV_API_HOST", "\"\"")
            buildConfigField("String", "API_HOST", "\"https://rt-mt.xiaopeng.com/\"")
            buildConfigField("String", "DEV_WS_URL", "\"\"")
            buildConfigField("String", "WS_URL", "\"wss://rt-ws.xiaopeng.com/websocket\"")
            //翼虎appId
            buildConfigField("String", "YIHU_APPID", "\"RoboTaxi-admin\"")
            //翼虎appSecret
            buildConfigField("String", "YIHU_APP_SECRET", "\"ctSuxCrDXi1qeQfi\"")
            //翼虎公钥
            buildConfigField("String", "YIHU_PUBLIC_KEY", "\"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0tfVskBwiwMFPwt3UCAKaenpVnLjR0Fs dH5Kf+Wr/35cOyzpWlK3SY6HdOZRPszGkQDEUJMNTYyU40WLLUQgGfqlSao1ya4tIcPRKgocDF+v TjizUv7t0Fd41I5ELzhYdMZiFg22/og+mqlKigw6yiIDAcdLXiAym5YJW4Xa/ZUAkMuOdZH7AYOV B+ru04teRlPUNKk//kx7eryIE1cbXix+ux+dT0/wGym7X+uFg8N2GGOz7jl4XlTcF2CTpAGJa1KN OPM39sZjp2j5OADI0K7NIqCg68OhVcuC31QCCyJgnbpUaVuV0bagvsHHVsJeVvg9HHtIc4t5X7cM j4DsIQIDAQAB\"")
            //翼虎网络域名
            buildConfigField("String", "YIHU_API_HOST", "\"https://xpsso.xiaopeng.com/sso/\"")
        }
    }
 
    applicationVariants.configureEach {
        val flavor = flavorName.ifBlank { "default" }
        outputs.configureEach {
            if (this is com.android.build.gradle.internal.api.BaseVariantOutputImpl) {
                outputFileName =
                    "小鹏RT运维-$flavor-${buildType.name}-${versionName}-${versionCode}-${SimpleDateFormat("yyyy-MM-dd").format(Date())}.apk"
            }
        }
    }
    sourceSets {
        getByName("main") {
            jniLibs.srcDirs("libs/iflytek")
        }
    }
}
 
dependencies {
    implementation(libs.androidx.activity.ktx)
    implementation(fileTree("libs/iflytek") { include("*.jar") })
    implementation(libs.androidx.core.ktx)
    implementation(libs.androidx.appcompat)
    implementation(libs.androidx.activity)
    implementation(libs.androidx.constraintlayout)
    implementation(libs.material)
    testImplementation(libs.junit)
    androidTestImplementation(libs.androidx.junit)
    androidTestImplementation(libs.androidx.espresso.core)
    implementation(libs.shadowLayout)
 
    implementation(project(":common"))
    implementation(libs.dialog.pickerview)
    implementation(libs.huawei.agconnect.core)
    implementation(libs.jsoup)
 
    implementation(libs.alicloud)
    implementation(libs.alicloud.android.third.push)
    implementation(libs.alicloud.android.third.push.huawei)
    implementation(libs.alicloud.android.third.push.honor)
    implementation(libs.alicloud.android.third.push.oppo)
    implementation(libs.alicloud.android.third.push.vivo)
}