buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.3.1' } } allprojects { repositories { mavenLocal() jcenter() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm url "$projectDir/../../react-native/android" } } } apply plugin: 'com.android.library' task forwardDebugPort(type: Exec) { def adb = android.getAdbExe()?.toString() ?: 'false' commandLine adb, 'forward', 'tcp:8082', 'tcp:8082' ignoreExitValue true doLast { if (execResult.getExitValue() != 0) { logger.error( '===========================================================================\n' + 'WARNING: Failed to automatically forward port 8082.\n' + 'In order to use Realm in Chrome debugging mode, port 8082 must be forwarded\n' + 'from localhost to the device or emulator being used to run the application.\n' + 'You may need to add the appropriate flags to the command that failed:\n' + ' adb forward tcp:8082 tcp:8082\n' + '===========================================================================\n' ) } } } android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { minSdkVersion 16 targetSdkVersion 22 } tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn forwardDebugPort } } String getAppId () { String myappId; try { String build = new File("$projectDir/../../../android/app/build.gradle").text def matcher = build =~ 'applicationId.*"' def appId = matcher.size() > 0 ? matcher[0].trim() - 'applicationId' - ~/\s/ : ''; myappId = appId.replaceAll('"', '') } catch(all) {} return myappId } apply from: 'analytics.gradle' import groovy.json.JsonSlurper def getNpmVersion() { def inputFile = new File(buildscript.sourceFile.getParent() + "/../package.json") def packageJson = new JsonSlurper().parseText(inputFile.text) return packageJson["version"] } task send(type: SendAnalyticsTask) { applicationId = getAppId() version = getNpmVersion().trim() } preBuild.dependsOn send dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'org.nanohttpd:nanohttpd:2.2.0' compile 'com.facebook.react:react-native:+' // From node_modules }