plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-kapt' id 'kotlin-parcelize' id 'dagger.hilt.android.plugin' //极光推送start // id 'com.google.gms.google-services' // id 'com.huawei.agconnect' //极光推送end } // Read values from gradle.properties or system environment variable(从gradle.properties里读取值) def getStripeReleaseKey() { return findProperty('STRIPE_RELEASE_KEY') ?: "" } def getKey(def key) { return findProperty(key) ?: "" } android { compileSdkVersion 35 // buildToolsVersion "30.0.3" defaultConfig { applicationId "com.abbidot.tracker" minSdkVersion 23 targetSdkVersion 35 versionCode 2020 // versionName "2.0.20" versionName "2.0.20-Beta4" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" ndk { //选择要添加的对应 cpu 类型的 .so 库。 abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', 'mips', 'mips64' } manifestPlaceholders = [ GOOGLE_MAP_KEY : getKey("GOOGLE_MAP_KEY"), BAIDU_MAP_KEY : getKey("BAIDU_MAP_KEY"), STRIPE_RELEASE_KEY : getStripeReleaseKey(), STRIPE_TEST_KEY : getKey("STRIPE_TEST_KEY"), BUGLY_KEY : getKey("BUGLY_KEY"), MAPBOX_ACCESS_TOKEN: getKey("MAPBOX_ACCESS_TOKEN"), HTTP_REQUEST_KEY : getKey("HTTP_REQUEST_KEY"), JPUSH_PKGNAME : "${applicationId}", JPUSH_APPKEY : "c968a96f76fc4f52e0f764ee", //JPush 上注册的包名对应的 Appkey. 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" ] } // 读取local.properties文件 Properties properties = new Properties() InputStream inputStream = project.rootProject.file('local.properties').newDataInputStream() properties.load(inputStream) // 读取签名文件 def keyKeyStoreFile = file(properties.getProperty('keyStoreFile')) // 读取签名文件别名、密码等信息 def keyKeyStorePassword = properties.getProperty('keyStorePassword') def keyKeyAlias = properties.getProperty('keyAlias') def keyKeyAliasPassword = properties.getProperty('keyAliasPassword') signingConfigs { release { storeFile keyKeyStoreFile storePassword keyKeyStorePassword keyAlias keyKeyAlias keyPassword keyKeyAliasPassword } debug { storeFile keyKeyStoreFile storePassword keyKeyStorePassword keyAlias keyKeyAlias keyPassword keyKeyAliasPassword } } buildTypes { // release { // minifyEnabled false // proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // } debug { // multiDexKeepProguard file('multidex-config.pro') debuggable true jniDebuggable true // 移除无用的资源文件 shrinkResources false // ZipAlign 优化 zipAlignEnabled false // 设置混淆 minifyEnabled false signingConfig signingConfigs.debug } release { // multiDexKeepProguard file('multidex-config.pro') debuggable false jniDebuggable false // 移除无用的资源文件 shrinkResources false // ZipAlign 优化 zipAlignEnabled true // 设置混淆 minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } } compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = '17' } applicationVariants.all { variant -> // Apk 输出文件名配置 variant.outputs.all { output -> outputFileName = 'Tracker_V' + variant.versionName + '_' + new Date().format('yyyyMMddhhmmss') + '_' + variant.buildType.name // if (variant.buildType.name == buildTypes.release.getName()) { // outputFileName += '_' + new Date().format('yyyyMMddhhmmss') + '_' + variant.buildType.name // } outputFileName += '.apk' } } viewBinding { enabled = true } lint { abortOnError false checkReleaseBuilds false } namespace 'com.abbidot.tracker' buildFeatures { viewBinding true buildConfig = true } //减少apk包的体积 packagingOptions { //压缩动态库(对应iniLibs的配置) jniLibs { useLegacyPackaging = true } //压缩dex(对应dex的配置) dex { useLegacyPackaging = true } } } dependencies { // 基类库 implementation project(':baselibrary') implementation project(':easyPhotos') //蓝牙架包https://github.com/Jasonchenlijian/FastBle // implementation 'com.github.Jasonchenlijian:FastBle:2.4.0' implementation project(':FastBleLib') //轻量级的Android端Socket框架https://github.com/jiusetian/EasySocket implementation project(':easysocket') // implementation 'androidx.legacy:legacy-support-v4:1.0.0' // implementation 'androidx.appcompat:appcompat:1.7.0' // implementation 'com.google.android.material:material:1.10.0' // implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation 'androidx.legacy:legacy-support-v4:1.0.0' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.2.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1' // Android官方库 implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.arch.core:core-common:2.2.0' implementation 'androidx.arch.core:core-runtime:2.2.0' implementation 'androidx.activity:activity-ktx:1.9.3' implementation 'androidx.fragment:fragment-ktx:1.5.6' implementation 'androidx.annotation:annotation:1.9.1' implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.7' implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.8.7' implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7' implementation 'androidx.room:room-runtime:2.5.2' // implementation 'androidx.room:room-rxjava2:2.3.0' implementation 'androidx.room:room-ktx:2.5.2' kapt 'androidx.room:room-compiler:2.5.2' //hilt依赖注入https://mvnrepository.com/artifact/com.google.dagger/hilt-android-gradle-plugin implementation "com.google.dagger:hilt-android:2.57" kapt "com.google.dagger:hilt-android-compiler:2.57" //Android UI 开发效率的 UI 库https://github.com/Tencent/QMUI_Android implementation 'com.qmuiteam:qmui:2.1.0' implementation 'com.qmuiteam:arch:2.1.0' kapt 'com.qmuiteam:arch-compiler:2.1.0' // 协程 implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2' // 图片框架 https://github.com/coil-kt/coil/blob/main/README-zh.md implementation "io.coil-kt:coil:1.4.0" //选择添加 implementation "io.coil-kt:coil-gif:1.4.0"//支持GIF //lottie动画https://github.com/airbnb/lottie-android implementation 'com.airbnb.android:lottie:6.6.7' //https://github.com/CymChad/BaseRecyclerViewAdapterHelper implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.11' //升级recyclerview,因BaseRecyclerViewAdapterHelper item点击事件是使用1.2.0 implementation 'androidx.recyclerview:recyclerview:1.3.1' //谷歌地图 implementation 'com.google.android.gms:play-services-maps:19.2.0' //地图操作工具类,添加标记等https://github.com/googlemaps/android-maps-utils // implementation 'com.google.maps.android:android-maps-utils:2.3.0' // implementation 'com.google.maps.android:maps-utils-ktx:3.2.1' //谷歌地图places // implementation 'com.google.android.libraries.places:places:2.5.0' //连接谷歌服务定位,登录谷歌 // implementation 'com.google.android.gms:play-services-auth:19.2.0' //定位 implementation 'com.google.android.gms:play-services-location:21.3.0' //动画https://github.com/daimajia/AndroidViewAnimations implementation 'com.daimajia.androidanimations:library:2.4@aar' //mapbox地图https://github.com/mapbox/mapbox-maps-android // implementation 'com.mapbox.maps:android:10.2.0' //https://github.com/mapbox/mapbox-search-android //用mapbox搜索SDK,地理编码 有搜索ui组件,已包括mapbox-search-android架包 implementation "com.mapbox.search:mapbox-search-android-ui:2.5.1" // mapbox搜索SDK,地理编码 没有搜索ui组件 // implementation "com.mapbox.search:mapbox-search-android:1.0.0-beta.25" //用于计算距离https://docs.mapbox.com/android/java/guides/turf/#available-methods implementation 'com.mapbox.mapboxsdk:mapbox-sdk-turf:6.15.0' //用于计算路线规划信息https://docs.mapbox.com/android/java/examples/dashed-directions-line/ implementation 'com.mapbox.mapboxsdk:mapbox-sdk-services:6.3.0' // 权限请求框架:https://github.com/getActivity/XXPermissions implementation 'com.github.getActivity:XXPermissions:25.2' // 吐司框架:https://github.com/getActivity/ToastUtils implementation 'com.github.getActivity:Toaster:13.2' // 日志调试框架:https://github.com/getActivity/Logcat ,在debug模式下集成 debugImplementation 'com.github.getActivity:Logcat:12.3' // PictureSelector图片选择器,需要compileSdkVersion=31 https://github.com/LuckSiege/PictureSelector // implementation 'io.github.lucksiege:pictureselector:v3.0.3' //拍照相册选择器、相册编辑添加水印 https://github.com/HuanTanSheng/EasyPhotos(没有适配Android13 相册) // implementation 'com.github.HuanTanSheng:EasyPhotos:3.1.5' //压缩图片 https://github.com/zetbaitsu/Compressor implementation 'id.zelory:compressor:3.0.1' //图片裁剪功能https://github.com/CanHub/Android-Image-Cropper implementation 'com.vanniktech:android-image-cropper:4.6.0' //******************************************极光推送start***************************************************** // https://docs.jiguang.cn/jpush/client/Android/android_guide // implementation 'cn.jiguang.sdk:jcore:3.1.2' // 此处以JCore 2.7.2 版本为例。 // implementation 'cn.jiguang.sdk:jpush:4.6.0' // 此处以JPush 4.0.0 版本为例 implementation 'cn.jiguang.sdk:jcore-google:5.1.0' // 此处以JCore 2.7.2 版本为例。 implementation 'cn.jiguang.sdk:jpush-google:5.8.0' // 此处以JPush 4.0.0 版本为例 // 接入华为厂商 // implementation 'com.huawei.hms:push:6.1.0.300' // implementation 'cn.jiguang.sdk.plugin:huawei:4.0.0'// 极光厂商插件版本与接入 JPush 版本保持一致,下同 // 接入 FCM 厂商 // implementation 'com.google.firebase:firebase-messaging:23.0.0' // implementation 'cn.jiguang.sdk.plugin:fcm:4.6.6' // 接入魅族厂商 // implementation 'cn.jiguang.sdk.plugin:meizu:4.6.0' // 接入 VIVO 厂商 // implementation 'cn.jiguang.sdk.plugin:vivo:4.6.0' // 接入 OPPO 厂商 // implementation 'cn.jiguang.sdk.plugin:oppo:4.6.0' // 接入小米厂商 // implementation 'cn.jiguang.sdk.plugin:xiaomi:4.6.0' //******************************************极光推送end******************************************************* //其中指代最新Bugly SDK版本号,也可以指定明确的版本号,例如4.0.0 implementation 'com.tencent.bugly:crashreport:4.1.9.3' //其中latest.release指代最新Bugly NDK版本号,也可以指定明确的版本号,例如3.9.2 // implementation 'com.tencent.bugly:nativecrashreport:3.9.2' //braintree 信用卡支付https://github.com/braintree/braintree_android implementation 'com.braintreepayments.api:card:4.31.0' //braintree PayPal支付https://developer.paypal.com/braintree/docs/guides/client-sdk/migration/android/v4 implementation 'com.braintreepayments.api:paypal:4.31.0' //Stripe 支付https://github.com/stripe/stripe-android implementation 'com.stripe:stripe-android:20.27.0' //百度地图基础定位组件 implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.6.5.1' //地图组件 implementation 'com.baidu.lbsyun:BaiduMapSDK_Map:7.5.2' //检索组件 implementation 'com.baidu.lbsyun:BaiduMapSDK_Search:7.5.2' //工具组件 implementation 'com.baidu.lbsyun:BaiduMapSDK_Util:7.5.2' //微信登录、支付 implementation 'com.tencent.mm.opensdk:wechat-sdk-android:+' //支付宝支付 implementation 'com.alipay.sdk:alipaysdk-android:+@aar' //dfu升级https://github.com/NordicSemiconductor/Android-DFU-Library implementation 'no.nordicsemi.android:dfu:2.9.0' //适配Android 12以下SplashScreen启动动画,闪屏图片 implementation 'androidx.core:core-splashscreen:1.0.1' //优雅、万能自定义日历https://github.com/huanghaibin-dev/CalendarView // implementation 'com.haibin:calendarview:3.7.1' //https://github.com/angcyo/CalendarView implementation 'com.github.angcyo:CalendarView:3.7.1.43' //Google出品的流式布局 flexbox-layout 支持RecyclerView https://gitcode.com/google/flexbox-layout?utm_source=csdn_github_accelerator implementation 'com.google.android.flexbox:flexbox:3.0.0' //facebook分享sdk // implementation 'com.facebook.android:facebook-android-sdk:latest.release' }