apply plugin: 'com.android.application' android { compileSdkVersion 26 buildToolsVersion '26.0.2' lintOptions { // This is important as it will run lint but not abort on error // Lint has some overly obnoxious "errors" that should really be warnings abortOnError false //Uncomment disable lines for test builds... //disable 'MissingTranslation' //disable 'ExtraTranslation' } defaultConfig { // TODO If this is ever modified, change application_id in strings.xml applicationId "org.dolphinemu.dolphinemu" minSdkVersion 21 targetSdkVersion 25 // TODO This should be set to the Buildbot build number for release builds, and be "1" for debug builds. versionCode 13 versionName "${getVersion()}" } signingConfigs { release { if (project.hasProperty('keystore')) { storeFile file(project.property('keystore')) storePassword project.property('storepass') keyAlias project.property('keyalias') keyPassword project.property('keypass') } } } // Define build types, which are orthogonal to product flavors. buildTypes { // Signed by release key, allowing for upload to Play Store. release { signingConfig signingConfigs.release } // Signed by debug key disallowing distribution on Play Store. // Attaches 'debug' suffix to version and package name, allowing installation alongside the release build. debug { // TODO If this is ever modified, change application_id in debug/strings.xml applicationIdSuffix ".debug" versionNameSuffix '-debug' jniDebuggable true } } externalNativeBuild { cmake { path "../../../CMakeLists.txt" } } defaultConfig { externalNativeBuild { cmake { arguments "-DANDROID_STL=c++_static", "-DCMAKE_BUILD_TYPE=RelWithDebInfo" // , "-DENABLE_GENERIC=ON" abiFilters "arm64-v8a", "x86_64" //, "armeabi-v7a", "x86" } } } } ext { androidSupportVersion = '26.1.0' } dependencies { api "com.android.support:support-v13:$androidSupportVersion" api "com.android.support:cardview-v7:$androidSupportVersion" api "com.android.support:recyclerview-v7:$androidSupportVersion" api "com.android.support:design:$androidSupportVersion" // Android TV UI libraries. api "com.android.support:leanback-v17:$androidSupportVersion" // For showing the banner as a circle a-la Material Design Guidelines api 'de.hdodenhof:circleimageview:2.1.0' // For loading huge screenshots from the disk. api 'com.squareup.picasso:picasso:2.5.2' // Allows FRP-style asynchronous operations in Android. api 'io.reactivex:rxandroid:1.2.1' } def getVersion() { def versionNumber = '0.0' try { versionNumber = 'git describe --always --long'.execute([], project.rootDir).text .trim() .replaceAll(/(-0)?-[^-]+$/, "") } catch (Exception e) { logger.error('Cannot find git, defaulting to dummy version number') } return versionNumber }