wjc
3 天以前 80f2ca2df62ff1cd03046864af504245be078eb2
app/build.gradle
@@ -1,5 +1,7 @@
plugins {
    id 'com.android.application'
    // 添加如下配置(华为极光推送)
    id 'com.huawei.agconnect'
}
//必须配置uni
def mfph = [
@@ -8,22 +10,66 @@
]
android {
    compileSdk 30
    signingConfigs {
        debug {
            storeFile file('../keystore/Untitled')
            keyAlias 'hdlphotovotaic'
            storePassword '85521566'
            keyPassword '85521566'
        }
        release {
            storeFile file('../keystore/Untitled')
            keyAlias 'hdlphotovotaic'
            storePassword '85521566'
            keyPassword '85521566'
        }
    }
    compileSdk 34
    defaultConfig {
        applicationId "com.hdl.photovoltaic"
        minSdk 23
        targetSdk 30
        versionCode 1
        versionName "1.0"
        targetSdk 34
        versionCode 14
        versionName "1.2.1"//版本规则1.3是产品功能迭代用的,最后一位0是我们修复bug用的
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
        manifestPlaceholders = mfph
        ndk {
            abiFilters 'x86', 'armeabi-v7a', "arm64-v8a" //不支持armeabi
            abiFilters 'armeabi-v7a', "arm64-v8a" //不支持armeabi
        }
        manifestPlaceholders = [
                JPUSH_PKGNAME: applicationId,
                //JPush 上注册的包名对应的 Appkey.
                JPUSH_APPKEY : "3baee103750e192ba68f3878",
                //暂时填写默认值即可.
                JPUSH_CHANNEL: "developer-default",
//                //若不集成厂商通道,可直接跳过以下配置
//                MEIZU_APPKEY : "MZ-魅族的APPKEY",
//                MEIZU_APPID : "MZ-魅族的APPID",
//                XIAOMI_APPID : "MI-小米的APPID",
//                XIAOMI_APPKEY : "MI-小米的APPKEY",
//                OPPO_APPKEY : "OP-oppo的APPKEY",
//                OPPO_APPID : "OP-oppo的APPID",
//                OPPO_APPSECRET : "OP-oppo的APPSECRET",
//                VIVO_APPKEY : "vivo的APPKEY",
//                VIVO_APPID : "vivo的APPID",
//                HONOR_APPID : "Honor的APP ID",
//                MEIZU_APPKEY : "MZ-魅族的APPKEY",
//                MEIZU_APPID : "110098313",
        ]
    }
    // 保证其他的lib没有被preDex
    dexOptions {
        preDexLibraries = false
    }
    repositories {
        flatDir {
            dirs 'libs'
        }
    }
    //此处配置必须添加 否则无法正确运行uni
    aaptOptions {
@@ -31,25 +77,60 @@
        //noCompress 'foo', 'bar'
        ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
    }
    repositories {
        flatDir {
            dirs 'libs'
//    lintOptions {
//        checkReleaseBuilds false
//        // Or, if you prefer, you can continue to check for errors in release builds,
//        // but continue the build even when errors are found:
//        abortOnError false
//    }
    /**
     * 打包自动命名
     */
    android.applicationVariants.configureEach { variant ->
        variant.outputs.configureEach {
            outputFileName = "photovoltaic_v${versionName}_${generateTime()}_${getEnvironmentVersion(4)}.apk"
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            minifyEnabled false //开启混淆
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
        debug {
            signingConfig signingConfigs.debug
        }
    }
    buildFeatures {
        viewBinding true
        aidl true
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}
//构建时间
static def generateTime() {
    return new Date().format("yyyyMMddHHmm")
}
//环境版本号:此版本号用于标注当前版本的软件处于哪个开发阶段,当软件进入到另一个阶段时需要修改此版本号。
static String getEnvironmentVersion(int environmentVersionValue) {
    if (environmentVersionValue == 1) {
        return "dev"//开发阶段版本。(一般不向外部发布,bug会比较多,功能也不全,一般只有开发人员使用。)
    } else if (environmentVersionValue == 2) {
        return "test"//测试阶段版本。(这个阶段版本会配合测试人员修复bug,直到满足发布条件。)
    } else if (environmentVersionValue == 3) {
        return "beta"//公测阶段版本。(公开测试版本,一般是内测通过的,主要会有"粉丝用户"使用体验。)
    } else if (environmentVersionValue == 4) {
        return "release"
//发布阶段版本。(该版本意味"最终版本",在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本。该版本有时也称为标准版。一般情况下,Release不会以单词形式出现在软件封面上。)
    }
}
@@ -63,22 +144,41 @@
    implementation 'androidx.navigation:navigation-fragment:2.3.5'
    implementation 'androidx.navigation:navigation-ui:2.3.5'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    //时间库
    implementation project(path: ':pickerview')
    //图表库
    implementation project(path: ':aa_chart_core')
    //国家列表和手机区号库
    implementation project(path: ':countrypicker')
    //二维码库
    implementation project(path: ':third-zxing')
    //Link本地库
    implementation project(path: ':HDLLinkLocalSdk')
    //Link本地库(在线依赖网络库)
    implementation 'com.hdl.android:pmsdk:1.0.11'
//    implementation 'com.hdl.android:debugsdk:1.0.71'
    implementation project(path: ':sdk')
    implementation 'androidx.activity:activity:1.2.3'
    implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
//    implementation 'org.greenrobot:eventbus:3.0.0'
    implementation 'com.hdl.hdlhttp:hxhttp:1.0.4'
    implementation 'com.hdl.hdlhttp:hxhttp:1.0.4'//1.0.4
    //okhttp 打印
    implementation 'com.squareup.okhttp3:logging-interceptor:4.9.1'
    //Eventbus事件发布与接收
    implementation 'org.greenrobot:eventbus:3.3.1'
    //屏幕适配
    //屏幕适配库
    implementation 'com.github.JessYanCoding:AndroidAutoSize:v1.2.1'
    //图片加载库
    implementation 'com.github.bumptech.glide:glide:4.13.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
    //添加StatusBarUtil的依赖 状态栏适配
    implementation 'com.jaeger.statusbarutil:library:1.5.1'
    //********UniSDK必须添加的依赖 start********
@@ -92,6 +192,61 @@
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'androidx.webkit:webkit:1.3.0'//3.6.15版本之后 必须集成,用来支持暗黑模式
    //********UniSDK必须添加的依赖 end********
    //NanoHTTPD搭建服务器
    implementation 'org.nanohttpd:nanohttpd:2.3.1'
    //Apache FileUtils 第三方工具类
    implementation 'commons-io:commons-io:2.11.0'
    //权限请求框架
    implementation 'com.github.getActivity:XXPermissions:12.8'
    //通用适配器
    implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.6'
    // 此处以JPush 5.0.3 版本为例,注意:从 5.0.0 版本开始可以自动拉取 JCore 包,无需另外配置
    implementation 'cn.jiguang.sdk:jpush-google:5.2.2'
    //分析和用户标签等功能(可选,集成极光分析SDK后,即可支持行为触发推送消息、推送转化率统计,用户行为分)
    implementation 'cn.jiguang.sdk:joperate:2.0.2'
    //若不集成厂商通道,可直接跳过以下依赖
    // 极光厂商插件版本与接入 JPush 版本保持一致,下同
    // 接入华为厂商
    implementation 'com.huawei.hms:push:6.9.0.300'
    implementation 'cn.jiguang.sdk.plugin:huawei:5.0.3'
    implementation 'com.huawei.agconnect:agconnect-core:1.9.1.301'
    //友盟
    implementation 'com.umeng.umsdk:common:9.5.6'// 必选
    implementation 'com.umeng.umsdk:asms:1.6.3'// 必选
    implementation 'com.umeng.umsdk:apm:1.7.0' // 错误分析
//    // 接入 FCM 厂商
//    implementation 'com.google.firebase:firebase-messaging:23.1.2'
//    implementation 'cn.jiguang.sdk.plugin:fcm:5.0.3'
//    // 接入魅族厂商
//    implementation 'cn.jiguang.sdk.plugin:meizu:5.0.3'
//    // 接入 VIVO 厂商
//    implementation 'cn.jiguang.sdk.plugin:vivo:5.0.3'
//    // 接入小米厂商
//    implementation 'cn.jiguang.sdk.plugin:xiaomi:5.0.3'
//    // 接入 OPPO 厂商
//    implementation 'cn.jiguang.sdk.plugin:oppo:5.0.3'
//    // JPush Android SDK v4.6.0 开始,需要单独引入 oppo 厂商 aar ,请下载官网 SDK 包并把 jpush-android-xxx-release/third-push/oppo/libs 下的 aar 文件单独拷贝一份到应用 module/libs 下
//    implementation(name: 'com.heytap.msp-push-3.1.0', ext: 'aar')
//
//    //以下为 OPPO 3.1.0 aar需要依赖
//    implementation 'com.google.code.gson:gson:2.6.2'
//    implementation 'commons-codec:commons-codec:1.6'
//    implementation 'androidx.annotation:annotation:1.1.0'
//    // 接入荣耀厂商
//    implementation 'cn.jiguang.sdk.plugin:honor:5.0.3'
//    //需要单独引入荣耀厂商 aar ,请下载官网 SDK 包并把 jpush-android-xxx-release/third-push/honor/libs 下的 aar 文件单独拷贝一份到应用 module/libs 下
//    implementation(name: 'HiPushSdk-v7.0.41.301', ext: 'aar')
//    应用 Module 配置
//    如果选择的厂商通道包含了 Huawei 厂商通道和 FCM 厂商通道,则需要额外执行以下操作,若未选择可忽略本步骤。
//    FCM:在 Firebase 上创建和 JPush 上同包名的待发布应用,创建完成后下载该应用的 google-services.json 配置文件并添加到应用的 module 目录下。
//    Huawei:在 Huawei 上创建和 JPush 上同包名的待发布应用,创建完成后下载该应用的 agconnect-services.json 配置文件并添加到应用的 module 目录下。
    //可以使用CardView组件来为视图设置阴影效果
}