plugins { 
 | 
    alias(libs.plugins.android.application) 
 | 
    alias(libs.plugins.jetbrains.kotlin.android) 
 | 
//    id 'com.android.application' 
 | 
    id 'kotlin-android' 
 | 
//    id 'kotlin-kapt' 
 | 
    id 'com.google.devtools.ksp' version '1.9.0-1.0.13' 
 | 
    id 'kotlin-parcelize' 
 | 
//    id 'img-optimizer' 
 | 
//    id 'com.yanzhenjie.andserver' 
 | 
} 
 | 
  
 | 
android { 
 | 
    namespace 'com.example.firstapp' 
 | 
    compileSdk 34 
 | 
  
 | 
    defaultConfig { 
 | 
//        applicationId "com.cloudroam.smsManager" 
 | 
        applicationId "com.example.firstapp" 
 | 
//        applicationId "net.sourceforge.simcpux" 
 | 
        minSdk 24 
 | 
        targetSdk 34 
 | 
        versionCode 1 
 | 
        versionName "1.0" 
 | 
  
 | 
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 
 | 
    } 
 | 
  
 | 
    signingConfigs { 
 | 
        release { 
 | 
            storeFile file('../keystore/sms-manager3.jks') 
 | 
            storePassword 'Cloudroam!@#123' 
 | 
            keyAlias 'sm' 
 | 
            keyPassword 'Cloudroam!@#123' 
 | 
        } 
 | 
  
 | 
        debug { 
 | 
            storeFile file('../keystore/keystore.jks') 
 | 
            storePassword 'android' 
 | 
            keyAlias 'android' 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
    buildTypes { 
 | 
        release { 
 | 
            minifyEnabled false 
 | 
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 
 | 
            signingConfig signingConfigs.release 
 | 
        } 
 | 
        debug { 
 | 
            minifyEnabled false 
 | 
            debuggable true 
 | 
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 
 | 
            signingConfig signingConfigs.debug 
 | 
        } 
 | 
  
 | 
    } 
 | 
    compileOptions { 
 | 
        sourceCompatibility JavaVersion.VERSION_17 
 | 
        targetCompatibility JavaVersion.VERSION_17 
 | 
    } 
 | 
    kotlinOptions { 
 | 
        jvmTarget = '17' 
 | 
    } 
 | 
    buildFeatures { 
 | 
        viewBinding true 
 | 
        dataBinding true 
 | 
    } 
 | 
} 
 | 
  
 | 
android { 
 | 
    packagingOptions { 
 | 
        //去除FrpcLib的so,用时下载并动态加载 
 | 
        if (excludeFrpclib.toBoolean()) { 
 | 
            exclude 'lib/armeabi-v7a/libgojni.so' 
 | 
            exclude 'lib/arm64-v8a/libgojni.so' 
 | 
            exclude 'lib/x86/libgojni.so' 
 | 
            exclude 'lib/x86_64/libgojni.so' 
 | 
        } 
 | 
        jniLibs { 
 | 
            excludes += ["kotlin/**"] 
 | 
        } 
 | 
        resources { 
 | 
            merge 'META-INF/mailcap' 
 | 
            pickFirst 'META-INF/LICENSE.md' 
 | 
            pickFirst 'META-INF/NOTICE.md' 
 | 
            excludes += ['META-INF/DEPENDENCIES.txt', 'META-INF/LICENSE.txt', 'META-INF/NOTICE.txt', 'META-INF/NOTICE', 'META-INF/LICENSE', 'META-INF/DEPENDENCIES', 'META-INF/notice.txt', 'META-INF/license.txt', 'META-INF/dependencies.txt', 'META-INF/LGPL2.1'] 
 | 
            excludes += ["META-INF/*.kotlin_module", "META-INF/*.version", "kotlin/**", "DebugProbesKt.bin"] 
 | 
        } 
 | 
    } 
 | 
  
 | 
  
 | 
} 
 | 
  
 | 
dependencies { 
 | 
  
 | 
    implementation libs.androidx.core.ktx 
 | 
    implementation libs.androidx.appcompat 
 | 
    implementation libs.material 
 | 
    implementation libs.androidx.constraintlayout 
 | 
    implementation libs.androidx.lifecycle.livedata.ktx 
 | 
    implementation libs.androidx.lifecycle.viewmodel.ktx 
 | 
    implementation libs.androidx.navigation.fragment.ktx 
 | 
    implementation libs.androidx.navigation.ui.ktx 
 | 
    implementation libs.androidx.legacy.support.v4 
 | 
    implementation libs.androidx.recyclerview 
 | 
    implementation libs.androidx.activity 
 | 
    testImplementation libs.junit 
 | 
    androidTestImplementation libs.androidx.junit 
 | 
    androidTestImplementation libs.androidx.espresso.core 
 | 
  
 | 
    implementation fileTree(dir: 'libs', include: ['*.jar']) 
 | 
    //frpc 
 | 
    implementation files('libs/frpclib.aar') 
 | 
  
 | 
    //MQTT协议 
 | 
    implementation("org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5") 
 | 
  
 | 
    testImplementation deps.junit 
 | 
    androidTestImplementation 'androidx.test.ext:junit:1.1.5' 
 | 
    androidTestImplementation deps.espresso.core 
 | 
  
 | 
    //noinspection GradleDependency 
 | 
    implementation 'androidx.core:core-ktx:1.9.0' 
 | 
    //noinspection GradleDependency 
 | 
    implementation 'androidx.activity:activity-ktx:1.6.1' 
 | 
    //noinspection GradleDependency 
 | 
    implementation 'androidx.fragment:fragment-ktx:1.5.5' 
 | 
    implementation "androidx.cardview:cardview:1.0.0" 
 | 
    implementation 'androidx.appcompat:appcompat:1.6.1' 
 | 
    implementation 'androidx.preference:preference-ktx:1.2.1' 
 | 
  
 | 
    //分包 
 | 
    implementation deps.androidx.multidex 
 | 
  
 | 
    //vLayout:https://github.com/alibaba/vlayout 
 | 
    implementation 'com.alibaba.android:vlayout:1.3.0' 
 | 
    //下拉刷新 
 | 
    implementation 'com.github.xuexiangjys.SmartRefreshLayout:refresh-header:1.1.4' 
 | 
    implementation 'com.github.xuexiangjys.SmartRefreshLayout:refresh-layout:1.1.4' 
 | 
    //WebView 
 | 
    implementation 'com.github.xuexiangjys.AgentWeb:agentweb-core:1.0.1' 
 | 
    implementation 'com.github.xuexiangjys.AgentWeb:agentweb-download:1.0.1'//选填 
 | 
    //屏幕适配AutoSize:https://github.com/JessYanCoding/AndroidAutoSize 
 | 
    implementation 'me.jessyan:autosize:1.2.1' 
 | 
    //友盟统计 
 | 
    implementation 'com.umeng.umsdk:common:9.6.8' 
 | 
    implementation 'com.umeng.umsdk:asms:1.8.2' 
 | 
  
 | 
    //预加载占位控件 
 | 
    implementation 'me.samlss:broccoli:1.0.0' 
 | 
  
 | 
    //RichText:https://github.com/zzhoujay/RichText 
 | 
    implementation 'com.zzhoujay.richtext:richtext:3.0.8' 
 | 
  
 | 
    //美团多渠道打包 
 | 
    //implementation 'com.meituan.android.walle:library:1.1.6' 
 | 
  
 | 
    def work_version = '2.8.1' 
 | 
    //noinspection GradleDependency 
 | 
    api("androidx.work:work-multiprocess:$work_version") 
 | 
    //noinspection GradleDependency 
 | 
    api("androidx.work:work-runtime-ktx:$work_version") 
 | 
  
 | 
    //Android Room 
 | 
    def room_version = '2.5.2' 
 | 
    //noinspection GradleDependency 
 | 
    implementation "androidx.room:room-ktx:$room_version" 
 | 
    //noinspection GradleDependency 
 | 
    implementation "androidx.room:room-runtime:$room_version" 
 | 
    //noinspection GradleDependency 
 | 
    implementation "androidx.room:room-paging:$room_version" 
 | 
    //noinspection GradleDependency 
 | 
    implementation "androidx.room:room-rxjava2:$room_version" 
 | 
    //noinspection KaptUsageInsteadOfKsp 
 | 
//    kapt "androidx.room:room-compiler:$room_version" 
 | 
    ksp "androidx.room:room-compiler:$room_version" 
 | 
  
 | 
    //CodeView:https://github.com/AmrDeveloper/CodeView 
 | 
    implementation 'io.github.amrdeveloper:codeview:1.3.9' 
 | 
  
 | 
    //LiveEventBus:https://github.com/JeremyLiao/LiveEventBus 
 | 
    implementation 'io.github.jeremyliao:live-event-bus-x:1.8.0' 
 | 
  
 | 
    //MarkdownView:https://github.com/tiagohm/MarkdownView 
 | 
    implementation 'com.github.tiagohm.MarkdownView:library:0.19.0' 
 | 
    //implementation 'com.github.tiagohm.MarkdownView:emoji:0.19.0' 
 | 
  
 | 
    def retrofit2_version = '2.9.0' 
 | 
    //noinspection GradleDependency 
 | 
    implementation "com.squareup.retrofit2:retrofit:$retrofit2_version" 
 | 
    //noinspection GradleDependency 
 | 
    implementation "com.squareup.retrofit2:converter-gson:$retrofit2_version" 
 | 
    //noinspection GradleDependency 
 | 
    implementation "com.squareup.retrofit2:adapter-rxjava2:$retrofit2_version" 
 | 
  
 | 
    def paging_version = "3.1.1" 
 | 
    //noinspection GradleDependency 
 | 
    implementation "androidx.paging:paging-runtime-ktx:$paging_version" 
 | 
    // alternatively - without Android dependencies for tests 
 | 
    //noinspection GradleDependency 
 | 
    testImplementation "androidx.paging:paging-common-ktx:$paging_version" 
 | 
  
 | 
    //权限请求框架:https://github.com/getActivity/XXPermissions 
 | 
    implementation 'com.github.getActivity:XXPermissions:18.62' 
 | 
    //语种切换框架:https://github.com/getActivity/MultiLanguages 
 | 
    implementation 'com.github.getActivity:MultiLanguages:b47f7be' //9.3 
 | 
  
 | 
    def mail_version = '1.6.7' 
 | 
    implementation "com.sun.mail:android-mail:$mail_version" 
 | 
    implementation "com.sun.mail:android-activation:$mail_version" 
 | 
  
 | 
    //国密算法SM4 的JAVA实现(基于BC实现) 
 | 
    def bouncycastle_version = '1.77' 
 | 
    //noinspection GradleDependency 
 | 
    api "org.bouncycastle:bcprov-jdk18on:$bouncycastle_version" 
 | 
    //邮件 S/MIME 加密和签名 
 | 
    //implementation "org.spongycastle:bcmail-jdk18on:$bouncycastle_version" //Android下报错 
 | 
    //noinspection GradleDependency 
 | 
    implementation "org.bouncycastle:bcpkix-jdk18on:$bouncycastle_version" 
 | 
    //implementation "org.bouncycastle:bctls-jdk18on:$bouncycastle_version" 
 | 
    //邮件 PGP 加密和签名 
 | 
    //implementation "org.bouncycastle:bcpg-jdk18on:$bouncycastle_version" //Thunderbird无法解密 
 | 
    //PGPainless: https://github.com/pgpainless/pgpainless 
 | 
    implementation 'org.pgpainless:pgpainless-core:1.6.7' 
 | 
  
 | 
    //Android Keep Alive(安卓保活),Cactus 集成双进程前台服务,JobScheduler,onePix(一像素),WorkManager,无声音乐 
 | 
    //https://github.com/gyf-dev/Cactus 
 | 
    implementation 'com.gyf.cactus:cactus:1.1.3-beta13' 
 | 
  
 | 
    //HTTP服务器:https://github.com/yanzhenjie/AndServer 
 | 
    implementation 'cn.ppps.andserver:api:2.1.12' 
 | 
//    kapt 'cn.ppps.andserver:processor:2.1.12' 
 | 
    ksp 'cn.ppps.andserver:processor:2.1.12' 
 | 
  
 | 
    //Location 是一个通过 Android 自带的 LocationManager 来实现的定位功能:https://github.com/jenly1314/Location 
 | 
    implementation 'com.github.pppscn:location:1.0.0' 
 | 
  
 | 
    //Partial implementation of Quartz Cron Java for Android: https://github.com/gatewayapps/crondroid 
 | 
    implementation 'gatewayapps.crondroid:crondroid:1.0.0' 
 | 
    //Java Parser For Cron Expressions: https://github.com/grahamar/cron-parser 
 | 
    implementation 'net.redhogs.cronparser:cron-parser-core:3.5' 
 | 
  
 | 
    //侧边栏菜单:https://github.com/yarolegovich/SlidingRootNav 
 | 
    implementation 'com.yarolegovich:sliding-root-nav:1.1.1' 
 | 
  
 | 
    //基础功能的工具类 
 | 
    implementation("com.github.xuexiangjys.XUtil:xutil-core:2.0.0") 
 | 
    //附加功能的工具类 
 | 
    implementation("com.github.xuexiangjys.XUtil:xutil-sub:2.0.0") 
 | 
  
 | 
    // 滑轮滚动控件 
 | 
    implementation 'com.github.open-android:WheelPicker:v1.0.0' 
 | 
  
 | 
    // 滚轮滑动控件级联 
 | 
    implementation 'com.contrarywind:Android-PickerView:4.1.9' 
 | 
  
 | 
    //图形化 
 | 
    implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' 
 | 
  
 | 
    //添加了 Glide 依赖 
 | 
    implementation 'com.github.bumptech.glide:glide:4.12.0' 
 | 
    annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0' 
 | 
  
 | 
    implementation 'com.squareup.okhttp3:okhttp:4.9.0' 
 | 
  
 | 
    // 支付宝支付SDK 
 | 
    api 'com.alipay.sdk:alipaysdk-android:+@aar' 
 | 
  
 | 
    //implementation 'com.google.android.material:material:1.4.0' 
 | 
  
 | 
    // 加密SharedPreferences 
 | 
    implementation "androidx.security:security-crypto:1.1.0-alpha06" 
 | 
     
 | 
    // Material Design组件im 
 | 
    implementation 'com.google.android.material:material:1.9.0' 
 | 
  
 | 
    implementation 'de.hdodenhof:circleimageview:3.1.0' 
 | 
  
 | 
    implementation 'com.github.castorflex:SmoothProgressBar:1.1.0' 
 | 
  
 | 
//    api 'com.tencent.mm.opensdk:wechat-sdk-android:+' 
 | 
    implementation("com.tencent.mm.opensdk:wechat-sdk-android:6.8.28") 
 | 
  
 | 
} 
 |