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.0" 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 true 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' }