xref: /aosp_15_r20/external/oboe/samples/RhythmGame/build.gradle (revision 05767d913155b055644481607e6fa1e35e2fe72c)
1*05767d91SRobert Wuapply plugin: 'com.android.application'
2*05767d91SRobert Wu
3*05767d91SRobert Wuandroid {
4*05767d91SRobert Wu    compileSdkVersion 34
5*05767d91SRobert Wu    defaultConfig {
6*05767d91SRobert Wu        applicationId "com.google.oboe.samples.rhythmgame"
7*05767d91SRobert Wu        targetSdkVersion 34
8*05767d91SRobert Wu        versionCode 1
9*05767d91SRobert Wu        versionName "1.0"
10*05767d91SRobert Wu        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
11*05767d91SRobert Wu        externalNativeBuild {
12*05767d91SRobert Wu            cmake {
13*05767d91SRobert Wu                cppFlags "-std=c++17"
14*05767d91SRobert Wu                abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
15*05767d91SRobert Wu            }
16*05767d91SRobert Wu        }
17*05767d91SRobert Wu    }
18*05767d91SRobert Wu    buildTypes {
19*05767d91SRobert Wu        release {
20*05767d91SRobert Wu            minifyEnabled false
21*05767d91SRobert Wu            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
22*05767d91SRobert Wu        }
23*05767d91SRobert Wu    }
24*05767d91SRobert Wu    externalNativeBuild {
25*05767d91SRobert Wu        cmake {
26*05767d91SRobert Wu            path "CMakeLists.txt"
27*05767d91SRobert Wu        }
28*05767d91SRobert Wu    }
29*05767d91SRobert Wu    flavorDimensions "extractorLibrary"
30*05767d91SRobert Wu    productFlavors {
31*05767d91SRobert Wu        ndkExtractor {
32*05767d91SRobert Wu            dimension "extractorLibrary"
33*05767d91SRobert Wu
34*05767d91SRobert Wu            // Oboe has a minimum API of 16, but AMediaExtractor (used to extract the MP3 assets)
35*05767d91SRobert Wu            // is only available from API 21.
36*05767d91SRobert Wu            // For further backward compatibility consider using FFmpeg (see below)
37*05767d91SRobert Wu            minSdkVersion 21
38*05767d91SRobert Wu            externalNativeBuild {
39*05767d91SRobert Wu                cmake {
40*05767d91SRobert Wu                    arguments "-DUSE_FFMPEG=0"
41*05767d91SRobert Wu                }
42*05767d91SRobert Wu            }
43*05767d91SRobert Wu        }
44*05767d91SRobert Wu        /**
45*05767d91SRobert Wu         * To use FFmpeg for asset extraction do the following:
46*05767d91SRobert Wu         * - Uncomment this block
47*05767d91SRobert Wu         * - Change the build variant to ffmpegExtractor
48*05767d91SRobert Wu         * - Update the FFMPEG_DIR variable in CMakeLists.txt to the local FFmpeg path
49*05767d91SRobert Wu        */
50*05767d91SRobert Wu        /*
51*05767d91SRobert Wu        ffmpegExtractor {
52*05767d91SRobert Wu            dimension "extractorLibrary"
53*05767d91SRobert Wu            minSdkVersion 16
54*05767d91SRobert Wu            externalNativeBuild {
55*05767d91SRobert Wu                cmake {
56*05767d91SRobert Wu                    arguments "-DUSE_FFMPEG=1"
57*05767d91SRobert Wu                }
58*05767d91SRobert Wu            }
59*05767d91SRobert Wu        }
60*05767d91SRobert Wu        */
61*05767d91SRobert Wu    }
62*05767d91SRobert Wu}
63*05767d91SRobert Wu
64*05767d91SRobert Wudependencies {
65*05767d91SRobert Wu    implementation fileTree(dir: 'libs', include: ['*.jar'])
66*05767d91SRobert Wu    implementation 'androidx.appcompat:appcompat:1.6.0-rc01'
67*05767d91SRobert Wu    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
68*05767d91SRobert Wu}
69