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" manifestPlaceholders["API_KEY"] = project.AIRCRAFT_API_KEY manifestPlaceholders["GMAP_API_KEY"] = project.GMAP_API_KEY manifestPlaceholders["AMAP_API_KEY"] = project.AMAP_API_KEY 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 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 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' }