| plugins { |
| id 'com.android.application' |
| id 'org.jetbrains.kotlin.android' |
| id 'org.jetbrains.kotlin.plugin.compose' |
| } |
| |
| android { |
| defaultConfig { |
| applicationId "com.google.oboe.samples.powerplay" |
| minSdkVersion 36 |
| targetSdkVersion 36 |
| compileSdkVersion 36 |
| versionCode 1 |
| versionName "1.0" |
| |
| testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" |
| vectorDrawables { |
| useSupportLibrary true |
| } |
| externalNativeBuild { |
| cmake { |
| cppFlags "-std=c++17" |
| arguments '-DANDROID_STL=c++_static' |
| // armeabi and mips are deprecated in NDK r16 so we don't want to build for them |
| abiFilters 'arm64-v8a', 'x86', 'x86_64' |
| } |
| } |
| } |
| buildTypes { |
| release { |
| minifyEnabled false |
| proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' |
| } |
| } |
| compileOptions { |
| sourceCompatibility JavaVersion.VERSION_18 |
| targetCompatibility JavaVersion.VERSION_18 |
| } |
| kotlinOptions { |
| jvmTarget = '18' |
| } |
| buildFeatures { |
| compose true |
| } |
| composeOptions { |
| kotlinCompilerExtensionVersion compose_version |
| } |
| |
| ndkVersion "29.0.14206865" // Requires NDK r29 for PCM Offload |
| externalNativeBuild { |
| cmake { |
| path 'src/main/cpp/CMakeLists.txt' |
| } |
| } |
| packagingOptions { |
| resources { |
| excludes += '/META-INF/{AL2.0,LGPL2.1}' |
| } |
| } |
| namespace 'com.google.oboe.samples.powerplay' |
| } |
| |
| dependencies { |
| implementation project(':shared') |
| implementation "androidx.core:core-ktx:$core_version" |
| implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2" |
| implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2" |
| implementation "androidx.activity:activity-ktx:1.10.1" |
| implementation "androidx.lifecycle:lifecycle-process:$lifecycle_version" |
| implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version" |
| implementation "androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycle_version" |
| implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" |
| implementation "androidx.lifecycle:lifecycle-runtime-compose:$lifecycle_version" |
| implementation "androidx.compose.ui:ui:$compose_version" |
| implementation "androidx.compose.material:material:$compose_version" |
| implementation "androidx.compose.ui:ui-tooling-preview:$compose_version" |
| implementation "androidx.compose.material3:material3:1.3.2" |
| implementation 'androidx.activity:activity-compose:1.10.1' |
| implementation 'androidx.appcompat:appcompat:1.7.1' |
| implementation 'androidx.compose.runtime:runtime-livedata:1.10.0' |
| testImplementation 'junit:junit:4.13.2' |
| androidTestImplementation 'androidx.test.ext:junit:1.2.1' |
| androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1' |
| androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version" |
| debugImplementation "androidx.compose.ui:ui-tooling:$compose_version" |
| debugImplementation "androidx.compose.ui:ui-test-manifest:$compose_version" |
| } |