| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- import java.text.DateFormat
- import java.text.SimpleDateFormat
- plugins {
- alias(libs.plugins.android.application)
- alias(libs.plugins.kotlin.android)
- alias(libs.plugins.kotlin.compose)
- }
- android {
- namespace 'com.paul.drone'
- compileSdk 35
- defaultConfig {
- applicationId "com.paul.drone"
- minSdk 24
- targetSdk 35
- versionCode 1
- versionName "1.0.1"
- manifestPlaceholders["API_KEY"] = project.AIRCRAFT_API_KEY
- manifestPlaceholders["GMAP_API_KEY"] = project.GMAP_API_KEY
- manifestPlaceholders["AMAP_API_KEY"] = project.AMAP_API_KEY
- manifestPlaceholders["MAPLIBRE_TOKEN"] = project.MAPLIBRE_TOKEN
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- ndk {
- abiFilters 'arm64-v8a' // 当前 MSDK 只支持 arm64-v8a 架构
- }
- // MSDK 相关的 so 库,加上一下配置
- packagingOptions {
- pickFirst 'lib/arm64-v8a/libc++_shared.so'
- pickFirst 'lib/armeabi-v7a/libc++_shared.so'
- }
- // MSDK 相关的 so 库,加上一下配置
- packagingOptions {
- jniLibs {
- useLegacyPackaging = true
- }
- doNotStrip "*/*/libconstants.so"
- doNotStrip "*/*/libdji_innertools.so"
- doNotStrip "*/*/libdjibase.so"
- doNotStrip "*/*/libDJICSDKCommon.so"
- doNotStrip "*/*/libDJIFlySafeCore-CSDK.so"
- doNotStrip "*/*/libdjifs_jni-CSDK.so"
- doNotStrip "*/*/libDJIRegister.so"
- doNotStrip "*/*/libdjisdk_jni.so"
- doNotStrip "*/*/libDJIUpgradeCore.so"
- doNotStrip "*/*/libDJIUpgradeJNI.so"
- doNotStrip "*/*/libDJIWaypointV2Core-CSDK.so"
- doNotStrip "*/*/libdjiwpv2-CSDK.so"
- doNotStrip "*/*/libFlightRecordEngine.so"
- doNotStrip "*/*/libvideo-framing.so"
- doNotStrip "*/*/libwaes.so"
- doNotStrip "*/*/libagora-rtsa-sdk.so"
- doNotStrip "*/*/libc++.so"
- doNotStrip "*/*/libc++_shared.so"
- doNotStrip "*/*/libmrtc_28181.so"
- doNotStrip "*/*/libmrtc_agora.so"
- doNotStrip "*/*/libmrtc_core.so"
- doNotStrip "*/*/libmrtc_core_jni.so"
- doNotStrip "*/*/libmrtc_data.so"
- doNotStrip "*/*/libmrtc_log.so"
- doNotStrip "*/*/libmrtc_onvif.so"
- doNotStrip "*/*/libmrtc_rtmp.so"
- doNotStrip "*/*/libmrtc_rtsp.so"
- }
- buildFeatures {
- compose true
- }
- }
- buildTypes {
- android.buildFeatures.buildConfig=true
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- buildConfigField "boolean", "LOGGING_ENABLED", "true"
- };
- debug {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- buildConfigField "boolean", "LOGGING_ENABLED", "true"
- }
- }
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_17
- targetCompatibility JavaVersion.VERSION_17
- }
- kotlinOptions {
- jvmTarget = JavaVersion.VERSION_17
- freeCompilerArgs += ["-Xjvm-default=all"]
- }
- android.applicationVariants.all {
- variant ->
- variant.outputs.all {
- DateFormat format = new SimpleDateFormat("yyyyMMddHHmm");
- def time = format.format(new Date())
- outputFileName = "tm_v5_${versionName}_${time}_${variant.buildType.name}.apk"
- }
- }
- }
- dependencies {
- // // 添加依赖 (app/build.gradle)
- // implementation 'com.google.android.exoplayer:exoplayer-core:2.19.1'
- // implementation 'com.google.android.exoplayer:exoplayer-ui:2.19.1'
- // // FLV 扩展库
- // implementation 'com.google.android.exoplayer:extension-rtmp:2.19.1'
- // implementation fileTree(dir: 'libs', include: ['*.jar'])
- //
- // implementation 'com.github.bilibili:ijkplayer:1.0.0'
- implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
- implementation 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.8'
- implementation 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8'
- implementation 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.8'
- implementation 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.8'
- implementation 'com.squareup.okio:okio:3.4.0' // 请根据需要使用最新版本
- implementation libs.androidx.core.ktx
- implementation libs.androidx.lifecycle.runtime.ktx
- implementation libs.androidx.activity.compose
- implementation platform(libs.androidx.compose.bom)
- implementation libs.androidx.ui
- implementation libs.androidx.ui.graphics
- implementation libs.androidx.ui.tooling.preview
- implementation libs.androidx.material3
- implementation libs.androidx.media3.decoder
- testImplementation libs.junit
- androidTestImplementation libs.androidx.junit
- androidTestImplementation libs.androidx.espresso.core
- androidTestImplementation platform(libs.androidx.compose.bom)
- androidTestImplementation libs.androidx.ui.test.junit4
- debugImplementation libs.androidx.ui.tooling
- debugImplementation libs.androidx.ui.test.manifest
- // implementation (libs.retrofit)
- implementation libs.retrofit
- implementation libs.converter.gson
- implementation 'com.google.code.gson:gson:2.10.1'
- implementation 'com.squareup.okhttp3:logging-interceptor:4.9.1'
- implementation 'io.reactivex:rxjava:1.2.9'
- implementation 'io.reactivex:rxandroid:1.2.1'
- implementation 'com.squareup.retrofit2:adapter-rxjava:2.0.0'
- implementation 'androidx.appcompat:appcompat:1.6.1'
- // implementation 'com.android.support:appcompat-v7:28.0.0'
- implementation project(":android-sdk-v5-uxsdk")
- implementation "com.dji:dji-sdk-v5-aircraft:5.15.0"
- compileOnly "com.dji:dji-sdk-v5-aircraft-provided:5.15.0"
- runtimeOnly 'com.dji:dji-sdk-v5-networkImp:5.15.0'
- implementation 'androidx.core:core-ktx:1.9.0'
- implementation 'androidx.appcompat:appcompat:1.6.1'
- implementation 'com.google.android.material:material:1.8.0'
- implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
- testImplementation 'junit:junit:4.13.2'
- androidTestImplementation 'androidx.test.ext:junit:1.1.5'
- androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
- implementation "org.java-websocket:Java-WebSocket:1.6.0"
- implementation 'com.github.NodeMedia:NodeMediaClient-Android:2.9.7'//推流 SDK
- implementation 'com.github.getActivity:XXPermissions:18.5'
- implementation 'com.github.NodeMedia:NodeMediaClient-Android:3.2.7'
- implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
- implementation 'org.greenrobot:eventbus:3.1.1'
- // 更新Retrofit版本以匹配OkHttp
- implementation 'com.squareup.retrofit2:retrofit:2.9.0'
- implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
- // 更新logging-interceptor版本以匹配OkHttp
- implementation 'com.squareup.okhttp3:logging-interceptor:4.9.3'
- /** <-----------------MQTT功能--------------------> **/
- implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5'
- implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'
- // 移除 Lombok 依赖以减少 APK 大小
- compileOnly 'org.projectlombok:lombok:1.18.30' // 只在编译期使用
- annotationProcessor 'org.projectlombok:lombok:1.18.30' // 注解处理器
- // 添加multidex支持
- implementation 'androidx.multidex:multidex:2.0.1'
- }
|