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.example.firstapp"
|
applicationId "net.sourceforge.simcpux"
|
minSdk 24
|
targetSdk 34
|
versionCode 1
|
versionName "1.0"
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
}
|
|
buildTypes {
|
release {
|
minifyEnabled false
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
signingConfig signingConfigs.debug
|
}
|
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
|
}
|
}
|
|
//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
|
// testImplementation libs.junit
|
// androidTestImplementation libs.androidx.junit
|
// androidTestImplementation libs.androidx.espresso.core
|
//
|
//
|
// 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"
|
//
|
// //基础功能的工具类
|
// implementation("com.github.xuexiangjys.XUtil:xutil-core:2.0.0")
|
// //附加功能的工具类
|
// implementation("com.github.xuexiangjys.XUtil:xutil-sub:2.0.0")
|
//
|
//
|
// //Android Keep Alive(安卓保活),Cactus 集成双进程前台服务,JobScheduler,onePix(一像素),WorkManager,无声音乐
|
// //https://github.com/gyf-dev/Cactus
|
// implementation 'com.gyf.cactus:cactus:1.1.3-beta13'
|
//// implementation 'com.gyf.cactus:cactus-support:1.1.3-beta13'
|
//
|
//}
|
|
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"]
|
}
|
}
|
|
signingConfigs {
|
release {
|
storeFile file('../keystore/sms-manager.jks')
|
storePassword 'Cloudroam!@#123'
|
keyAlias 'sm'
|
keyPassword 'Cloudroam!@#123'
|
}
|
|
debug {
|
storeFile file('../keystore/keystore.jks')
|
storePassword 'android'
|
keyAlias 'android'
|
}
|
}
|
|
|
}
|
|
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:+'
|
|
}
|