1apply plugin: 'com.android.application'
2
3android {
4    compileSdkVersion 26
5    defaultConfig {
6        applicationId "io.grpc.android.interop.cpp"
7        minSdkVersion 14
8        targetSdkVersion 26
9        versionCode 1
10        versionName "1.0"
11        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
12        externalNativeBuild {
13            cmake {
14                // The paths to the protoc and grpc_cpp_plugin binaries on the host system (codegen
15                // is not cross-compiled to Android)
16                def protoc = project.hasProperty('protoc') ?
17                        project.property('protoc') : '/usr/local/bin/protoc'
18                def grpc_cpp_plugin = project.hasProperty('grpc_cpp_plugin') ?
19                        project.property('grpc_cpp_plugin') : '/usr/local/bin/grpc_cpp_plugin'
20
21                cppFlags "-std=c++14 -frtti -fexceptions"
22                arguments '-DANDROID_STL=c++_shared'
23                arguments '-DRUN_HAVE_POSIX_REGEX=0'
24                arguments '-DRUN_HAVE_STD_REGEX=0'
25                arguments '-DRUN_HAVE_STEADY_CLOCK=0'
26                arguments '-Dprotobuf_BUILD_PROTOC_BINARIES=off'
27                arguments '-DgRPC_BUILD_CODEGEN=off'
28                arguments '-DPROTOBUF_PROTOC_EXECUTABLE=' + protoc
29                arguments '-DgRPC_CPP_PLUGIN_EXECUTABLE=' + grpc_cpp_plugin
30            }
31        }
32        ndk.abiFilters 'x86'
33    }
34    buildTypes {
35        debug {
36            minifyEnabled false
37        }
38        release {
39            minifyEnabled true
40            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
41        }
42    }
43    externalNativeBuild {
44        cmake {
45            path "CMakeLists.txt"
46        }
47    }
48}
49
50dependencies {
51    implementation fileTree(dir: 'libs', include: ['*.jar'])
52    implementation 'com.android.support:appcompat-v7:26.1.0'
53    testImplementation 'junit:junit:4.12'
54    androidTestImplementation 'com.android.support.test:runner:1.0.1'
55    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
56}
57