apply plugin: 'com.android.application' android { compileSdkVersion 30 buildToolsVersion "30.0.2" signingConfigs { debug { storeFile file('D:\\Android\\rito3399.jks') storePassword 'ritoseo' keyAlias = 'ritokey' keyPassword 'ritoseo' // storePassword 'android' // keyAlias = 'platform' // keyPassword 'android' } release { storeFile file('D:\\Android\\rito3399.jks') storePassword 'ritoseo' keyAlias = 'ritokey' keyPassword 'ritoseo' } } defaultConfig { applicationId "kr.co.rito.osicmanager" minSdkVersion 26 targetSdkVersion 30 versionCode 1 // For 119 Version // versionName "1.0.18" // For OSIC10 // 2.0.2 - for YELLOW, BLUE KEY active mode working. // 2.0.3 - for active mode hsact:// working // 2.0.4 - for encoder live audio drop retry // 2.0.5 - for 액티브 모드에서 방송 대기화면 표출 나오는 이슈, 액티브 모드에서 스트림 재시도 후 종료되는 이슈 처리 // 2.0.6 - for VFD 설정 변경 시 LongPress : 컨펌, ShortPress : 취소 // 2.0.7 - for 웹뷰 로딩 에러시 대기이미지 표시, 스트리밍 문제 발생시 "신호가 약합니다." 표시, stbpage/osic10.php 변경. runChannelList -> lastPlayUrl 설정 추가 // 2.0.8 - for ShouldStopPlay, ShouldPlayUrl 추가, 웹뷰 로딩 대기이미지 패시브 모드 출력 버그 수정 // 2.0.9 - for 리모컨 정지 시 블랙화면 나오도록 수정 - 2024-06-20 // 2.0.10 - for 플레이어 버퍼 로그 추가 - 2024-07-25 [ logmanager 연동 필요 ] // 2.0.11 - for MQTT 추가 ebcast 연동 // 2.0.12 - for emergency.wav 변경 // 2.0.13 - for AudioFilePlayer에서 MediaPlayer를 ExoPlayer로 변경. mEbcastMqttIp 없을 때 MQTT 실행 방지 versionName "2.0.13" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" //ndk.abiFilters 'armeabi-v7a', 'arm64-v8a' ndk.abiFilters 'arm64-v8a' externalNativeBuild { cmake { cppFlags "" } } } buildTypes { debug { //buildConfigField "String", "SPECIAL_APP_MODE", "\"119NOTI_DEMO\"" buildConfigField "String", "SPECIAL_APP_MODE", "\"\"" } release { //buildConfigField "String", "SPECIAL_APP_MODE", "\"119NOTI_DEMO\"" buildConfigField "String", "SPECIAL_APP_MODE", "\"\"" minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } externalNativeBuild { cmake { path "src/main/cpp/CMakeLists.txt" version "3.10.2" } } ndkVersion '21.0.6113669' android.applicationVariants.all { variant -> variant.outputs.all { outputFileName = "OsicManager_v${defaultConfig.versionName}.apk" } } } dependencies { implementation 'com.google.android.material:material:1.1.0' implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' //compileOnly files('libs/ritocls.jar') implementation fileTree(dir: 'libs', include: ['*.jar']) api fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.aar']) //implementation 'org.videolan.android:libvlc-all:3.3.0-eap10' //implementation 'org.videolan.android:libvlc-all:3.4.0-eap4' implementation 'org.videolan.android:libvlc-all:3.4.5' implementation 'com.google.android.exoplayer:exoplayer:2.16.0' // mqtt implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0' //implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1' implementation 'com.squareup.okhttp3:okhttp:3.10.0' // implementation 'com.mindorks.android:prdownloader:0.6.0' implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' } //preBuild { // doLast { // //def imlFile = file(project.name + ".iml") // def imlFile = file("..\\.idea\\modules\\app\\" + project.parent.name + ".app.iml") // println 'Change ' + project.name + '.iml order' // try { // def parsedXml = (new XmlParser()).parse(imlFile) // def jdkNode = parsedXml.component[1].orderEntry.find { it.'@type' == 'jdk' } // parsedXml.component[1].remove(jdkNode) // def sdkString = "Android API " + android.compileSdkVersion.substring("android-".length()) + " Platform" // println 'what' + sdkString // new Node(parsedXml.component[1], 'orderEntry', ['type': 'jdk', 'jdkName': sdkString, 'jdkType': 'Android SDK']) // groovy.xml.XmlUtil.serialize(parsedXml, new FileOutputStream(imlFile)) // } catch (FileNotFoundException e) { // // nop, iml not found // println "no iml found" // } // } //} //preBuild { // doLast { // def imlFile = file(project.name + ".app.iml") // println 'Change ' + project.name + '.iml order' // try { // def parsedXml = (new XmlParser()).parse(imlFile) // def jdkNode = parsedXml.component[1].orderEntry.find { it.'@type' == 'jdk' } // parsedXml.component[1].remove(jdkNode) // def sdkString = "Android API " + android.compileSdkVersion.substring("android-".length()) + " Platform" // println 'what' + sdkString // new Node(parsedXml.component[1], 'orderEntry', ['type': 'jdk', 'jdkName': sdkString, 'jdkType': 'Android SDK']) // groovy.xml.XmlUtil.serialize(parsedXml, new FileOutputStream(imlFile)) // } catch (FileNotFoundException e) { // // nop, iml not found // println "no iml found" // } // } //}