plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-kapt' } kotlin { kotlinDaemonJvmArgs = [ "-Dfile.encoding=UTF-8", "--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED", "--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED", "--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED", "--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED", "--add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED", "--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED", "--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED", "--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED", "--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED", "--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED" ] } android { namespace 'com.audiobookshelf.app' buildFeatures { viewBinding true } kotlinOptions { freeCompilerArgs = ['-Xjvm-default=all'] } compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId "com.audiobookshelf.app" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 95 versionName "0.9.64-beta" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" aaptOptions { // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. // Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61 ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~' } } buildTypes { debug { applicationIdSuffix ".debug" versionNameSuffix "-debug" minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } repositories { flatDir{ dirs '../capacitor-cordova-android-plugins/src/main/libs', 'libs' } mavenCentral() } configurations.all { resolutionStrategy { force("com.google.android.gms:play-services-base:18.0.1") force("androidx.appcompat:appcompat:$androidxAppCompatVersion") force("androidx.core:core-ktx:$androidx_core_ktx_version") force("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version") force("androidx.media:media:$androidx_media_version") force("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version") force("org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version") } } dependencies { implementation "androidx.core:core-splashscreen:$coreSplashScreenVersion" implementation fileTree(include: ['*.jar'], dir: 'libs') implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion" implementation project(':capacitor-android') implementation 'androidx.constraintlayout:constraintlayout:2.1.3' implementation "androidx.coordinatorlayout:coordinatorlayout:$androidxCoordinatorLayoutVersion" // testImplementation "junit:junit:$junitVersion" // androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion" // androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion" implementation project(':capacitor-cordova-android-plugins') implementation "androidx.core:core-ktx:$androidx_core_ktx_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version" implementation "androidx.media:media:$androidx_media_version" // Exo Player if (findProject(':exoplayer-library-core') != null) { implementation project(':exoplayer-library-core') implementation project(':exoplayer-library-ui') implementation project(':exoplayer-extension-mediasession') implementation project(':exoplayer-extension-cast') implementation project(':exoplayer-hls') } else { implementation "com.google.android.exoplayer:exoplayer-core:$exoplayer_version" implementation "com.google.android.exoplayer:exoplayer-ui:$exoplayer_version" implementation "com.google.android.exoplayer:extension-mediasession:$exoplayer_version" implementation "com.google.android.exoplayer:extension-cast:$exoplayer_version" implementation "com.google.android.exoplayer:exoplayer-hls:$exoplayer_version" } // Glide for images implementation "com.github.bumptech.glide:glide:$glide_version" kapt "com.github.bumptech.glide:compiler:$glide_version" // Paper NoSQL Db implementation 'io.github.pilgr:paperdb:2.7.2' // Simple Storage implementation "com.anggrayudi:storage:1.5.4" // OK HTTP implementation 'com.squareup.okhttp3:okhttp:4.9.2' // Jackson for JSON implementation 'com.fasterxml.jackson.module:jackson-module-kotlin:2.12.2' // FFMPEG-Kit implementation 'com.arthenica:ffmpeg-kit-min:4.5.1' } apply from: 'capacitor.build.gradle'