feat: 增加kotlin支持,升级依赖到最新版

This commit is contained in:
2026-05-08 21:26:19 +08:00
parent 6baa7155ba
commit 59539d048d
3 changed files with 87 additions and 42 deletions

View File

@@ -1,4 +1,6 @@
apply plugin: 'com.android.application' apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
static def appName() { static def appName() {
return "TTStdElderlyDialer" return "TTStdElderlyDialer"
@@ -11,15 +13,15 @@ static def releaseTime() {
android { android {
namespace "com.ttstd.dialer" namespace "com.ttstd.dialer"
compileSdkVersion 33 compileSdkVersion 37
// buildToolsVersion "36.0.0" // buildToolsVersion "36.0.0"
defaultConfig { defaultConfig {
applicationId "com.ttstd.dialer" applicationId "com.ttstd.dialer"
//There are no CERT files because If the mini sdk version is 23+, the AGP will ignore the V1 scheme signature. //There are no CERT files because If the mini sdk version is 23+, the AGP will ignore the V1 scheme signature.
minSdkVersion 22 minSdkVersion 23
targetSdkVersion 33 targetSdkVersion 37
versionCode 1 versionCode 1
versionName "1.0" versionName "1.0"
@@ -77,6 +79,11 @@ android {
targetCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8
} }
// 添加 Kotlin 编译选项
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures { buildFeatures {
dataBinding true dataBinding true
buildConfig true buildConfig true
@@ -186,59 +193,61 @@ dependencies {
implementation project(path: ':niceimageview') implementation project(path: ':niceimageview')
implementation project(path: ':iconloader') implementation project(path: ':iconloader')
// 添加 Kotlin 标准库
implementation "org.jetbrains.kotlin:kotlin-stdlib:2.2.10"
// 添加这行,使用 BOM 统一 Kotlin 相关库的版本
implementation(platform("org.jetbrains.kotlin:kotlin-bom:2.2.10"))
//保持1.3.1 更新会报错 //保持1.3.1 更新会报错
implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'androidx.appcompat:appcompat:1.7.1'
//2.0.4以上无法预览 //2.0.4以上无法预览
implementation 'androidx.constraintlayout:constraintlayout:2.0.4' implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
implementation "androidx.multidex:multidex:2.0.1" implementation "androidx.multidex:multidex:2.0.1"
implementation "androidx.recyclerview:recyclerview:1.2.1" implementation "androidx.recyclerview:recyclerview:1.4.0"
// For control over item selection of both touch and mouse driven selection // For control over item selection of both touch and mouse driven selection
implementation "androidx.recyclerview:recyclerview-selection:1.1.0" implementation "androidx.recyclerview:recyclerview-selection:1.2.0"
// Java language implementation // Java language implementation
implementation "androidx.fragment:fragment:1.4.1" implementation "androidx.fragment:fragment:1.8.9"
implementation "androidx.viewpager2:viewpager2:1.0.0" implementation "androidx.viewpager2:viewpager2:1.1.0"
implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0'
// Room依赖 // Room依赖
implementation "androidx.room:room-runtime:2.3.0" implementation "androidx.room:room-runtime:2.8.4"
implementation "androidx.room:room-rxjava3:2.3.0" implementation "androidx.room:room-rxjava3:2.8.4"
annotationProcessor "androidx.room:room-compiler:2.3.0" kapt "androidx.room:room-compiler:2.8.4"
// ViewModel和LiveData // ViewModel和LiveData
implementation "androidx.lifecycle:lifecycle-viewmodel:2.3.0" implementation "androidx.lifecycle:lifecycle-viewmodel:2.10.0"
implementation "androidx.lifecycle:lifecycle-livedata:2.3.0" implementation "androidx.lifecycle:lifecycle-livedata:2.10.0"
implementation "androidx.lifecycle:lifecycle-runtime:2.3.0" implementation "androidx.lifecycle:lifecycle-runtime:2.10.0"
annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.3.0" kapt "androidx.lifecycle:lifecycle-compiler:2.10.0"
// LifecycleService 核心库 // LifecycleService 核心库
implementation "androidx.lifecycle:lifecycle-service:2.3.0" implementation "androidx.lifecycle:lifecycle-service:2.10.0"
// 添加这行,使用 BOM 统一 Kotlin 相关库的版本 testImplementation 'junit:junit:4.13.2'
implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.10"))
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.3.0' androidTestImplementation 'androidx.test.ext:junit:1.3.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.7.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.7.0'
implementation 'com.google.android.material:material:1.0.0' implementation 'com.google.android.material:material:1.13.0'
//glide //glide
implementation 'com.github.bumptech.glide:glide:4.13.1' implementation 'com.github.bumptech.glide:glide:4.15.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.13.1' kapt 'com.github.bumptech.glide:compiler:4.15.1'
// SVG支持库f // SVG支持库f
implementation 'com.caverock:androidsvg:1.4' implementation 'com.caverock:androidsvg:1.4'
// 如果需要添加Glide SVG模块社区版 // 如果需要添加Glide SVG模块社区版
// implementation 'com.github.qoqa:glide-svg:2.0.4' // implementation 'com.github.qoqa:glide-svg:2.0.4'
//RxJava //RxJava
implementation 'io.reactivex.rxjava3:rxjava:3.0.0' implementation 'io.reactivex.rxjava3:rxjava:3.1.12'
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0' implementation 'io.reactivex.rxjava3:rxandroid:3.0.2'
// //
implementation 'com.squareup.okhttp3:okhttp:4.9.0' implementation 'com.squareup.okhttp3:okhttp:5.3.2'
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0' implementation 'com.squareup.okhttp3:logging-interceptor:5.3.2'
implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:retrofit:3.0.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:3.0.0'
// implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0' // implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
implementation "com.squareup.retrofit2:adapter-rxjava3:2.9.0" implementation "com.squareup.retrofit2:adapter-rxjava3:3.0.0"
//Gson //Gson
implementation 'com.google.code.gson:gson:2.9.0' implementation 'com.google.code.gson:gson:2.14.0'
implementation 'com.google.zxing:core:3.5.0' implementation 'com.google.zxing:core:3.5.4'
//生命周期管理 //生命周期管理
implementation 'com.trello.rxlifecycle4:rxlifecycle:4.0.2' implementation 'com.trello.rxlifecycle4:rxlifecycle:4.0.2'
implementation 'com.trello.rxlifecycle4:rxlifecycle-android:4.0.2' implementation 'com.trello.rxlifecycle4:rxlifecycle-android:4.0.2'
@@ -253,15 +262,15 @@ dependencies {
implementation 'com.facebook.rebound:rebound:0.3.8' implementation 'com.facebook.rebound:rebound:0.3.8'
//MMKV //MMKV
implementation 'com.tencent:mmkv-static:1.2.14' implementation 'com.tencent:mmkv-static:2.4.0'
//bugly //bugly
implementation 'com.tencent.bugly:crashreport:4.1.9.3' implementation 'com.tencent.bugly:crashreport:4.1.9.3'
implementation 'com.iqiyi.xcrash:xcrash-android-lib:3.0.0' implementation 'com.iqiyi.xcrash:xcrash-android-lib:3.1.0'
// 替换成最新版本, 需要注意的是api // 替换成最新版本, 需要注意的是api
// 要与compiler匹配使用均使用最新版可以保证兼容 // 要与compiler匹配使用均使用最新版可以保证兼容
implementation 'com.alibaba:arouter-api:1.5.2' implementation 'com.alibaba:arouter-api:1.5.2'
annotationProcessor 'com.alibaba:arouter-compiler:1.5.2' kapt 'com.alibaba:arouter-compiler:1.5.2'
//推送 //推送
//阿里云 //阿里云
@@ -317,15 +326,15 @@ dependencies {
//指示器 //指示器
implementation 'com.github.hackware1993:MagicIndicator:1.7.0' implementation 'com.github.hackware1993:MagicIndicator:1.7.0'
//工具类 //工具类
implementation 'com.blankj:utilcodex:1.31.0' implementation 'com.blankj:utilcodex:1.31.1'
//aria //aria
implementation 'com.arialyy.aria:core:3.8.15' implementation 'com.arialyy.aria:core:3.8.15'
annotationProcessor 'com.arialyy.aria:compiler:3.8.15' kapt 'com.arialyy.aria:compiler:3.8.15'
//状态栏透明 //状态栏透明
implementation 'com.gitee.zackratos:UltimateBarX:0.8.0' implementation 'com.gitee.zackratos:UltimateBarX:0.8.0'
//指示器 //指示器
implementation 'com.github.hackware1993:MagicIndicator:1.7.0' implementation 'com.github.hackware1993:MagicIndicator:1.7.0'
implementation 'com.opencsv:opencsv:5.5.2' implementation 'com.opencsv:opencsv:5.12.0'
// 吐司框架https://github.com/getActivity/Toaster // 吐司框架https://github.com/getActivity/Toaster
implementation 'com.github.getActivity:Toaster:12.6' implementation 'com.github.getActivity:Toaster:12.6'

View File

@@ -0,0 +1,35 @@
package com.ttstd.dialer.utils
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.util.Log
class KotlinUtils {
companion object {
private const val TAG = "DialerUtils"
/**
* 拨打电话
* @param context 上下文
* @param phoneNumber 电话号码
*/
@JvmStatic
fun makeCall(context: Context, phoneNumber: String) {
try {
val intent = Intent(Intent.ACTION_CALL).apply {
data = Uri.parse("tel:$phoneNumber")
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
}
context.startActivity(intent)
Log.d(TAG, "正在拨打: $phoneNumber")
} catch (e: SecurityException) {
Log.e(TAG, "没有打电话权限", e)
} catch (e: Exception) {
Log.e(TAG, "拨打电话失败", e)
}
}
}
}

View File

@@ -18,6 +18,7 @@ buildscript {
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:8.13.2' classpath 'com.android.tools.build:gradle:8.13.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:2.2.10"
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files // in the individual module build.gradle files
@@ -52,6 +53,6 @@ allprojects {
} }
} }
task clean(type: Delete) { //task clean(type: Delete) {
delete rootProject.buildDir // delete rootProject.buildDir
} //}