plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' } android.buildFeatures.buildConfig true android { namespace 'io.github.chinosk.gakumas.localify' compileSdk 34 ndkVersion "26.3.11579264" defaultConfig { applicationId "io.github.chinosk.gakumas.localify" minSdk 29 targetSdk 34 versionCode 2 versionName "v1.2" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { useSupportLibrary true } externalNativeBuild { cmake { cppFlags '' } } ndk { abiFilters 'arm64-v8a' } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' buildConfigField "boolean", "ENABLE_LOG", "true" } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } buildFeatures { compose true prefab true } composeOptions { kotlinCompilerExtensionVersion '1.5.1' } packaging { resources { excludes += '/META-INF/{AL2.0,LGPL2.1}' } } externalNativeBuild { cmake { path file('src/main/cpp/CMakeLists.txt') version '3.22.1' } } packagingOptions { pickFirst '**/libxdl.so' pickFirst '**/libshadowhook.so' exclude 'gakumas-local/gakuen-adapted-translation-data/**' } dataBinding { enable true } applicationVariants.configureEach { variant -> variant.mergeAssetsProvider.configure { mergeAssetsTask -> mergeAssetsTask.doLast { delete(fileTree(dir: mergeAssetsTask.outputDir, includes: ['gakumas-local/gakuen-adapted-translation-data/**', 'gakumas-local/GakumasPreTranslation/**', 'gakumas-local/raw/**'])) } } } } dependencies { implementation 'androidx.core:core-ktx:1.13.1' implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.2' implementation 'androidx.compose.material3:material3' implementation 'com.google.android.material:material:1.12.0' implementation "androidx.activity:activity-compose:1.9.0" implementation "androidx.appcompat:appcompat:1.7.0" implementation 'androidx.navigation:navigation-compose:2.7.7' def composeBom = platform('androidx.compose:compose-bom:2024.06.00') implementation(composeBom) androidTestImplementation(composeBom) implementation "androidx.compose.runtime:runtime" implementation "androidx.compose.material:material" implementation "androidx.compose.foundation:foundation" implementation "androidx.compose.foundation:foundation-layout" implementation "androidx.compose.animation:animation" implementation "androidx.compose.ui:ui-tooling-preview" androidTestImplementation "androidx.compose.ui:ui-test-junit4" debugImplementation "androidx.compose.ui:ui-tooling" debugImplementation "androidx.compose.ui:ui-test-manifest" implementation "com.google.accompanist:accompanist-pager:0.30.0" implementation "com.google.accompanist:accompanist-pager-indicators:0.30.0" implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.8.2" implementation "io.coil-kt:coil-compose:2.6.0" implementation "io.coil-kt:coil-svg:2.6.0" implementation(platform("com.squareup.okhttp3:okhttp-bom:4.12.0")) implementation "com.squareup.okhttp3:okhttp" implementation "com.squareup.okhttp3:logging-interceptor" implementation 'io.github.hexhacking:xdl:2.1.1' implementation 'com.bytedance.android:shadowhook:1.0.9' compileOnly 'de.robv.android.xposed:api:82' implementation "org.jetbrains.kotlin:kotlin-reflect:1.9.22" implementation 'com.google.code.gson:gson:2.11.0' }