Advertisement
Guest User

Untitled

a guest
Sep 16th, 2016
853
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.46 KB | None | 0 0
  1. apply plugin: "com.android.application"
  2.  
  3. import com.android.build.OutputFile
  4.  
  5. /**
  6. * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
  7. * and bundleReleaseJsAndAssets).
  8. * These basically call `react-native bundle` with the correct arguments during the Android build
  9. * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
  10. * bundle directly from the development server. Below you can see all the possible configurations
  11. * and their defaults. If you decide to add a configuration block, make sure to add it before the
  12. * `apply from: "../../node_modules/react-native/react.gradle"` line.
  13. *
  14. * project.ext.react = [
  15. * // the name of the generated asset file containing your JS bundle
  16. * bundleAssetName: "index.android.bundle",
  17. *
  18. * // the entry file for bundle generation
  19. * entryFile: "index.android.js",
  20. *
  21. * // whether to bundle JS and assets in debug mode
  22. * bundleInDebug: false,
  23. *
  24. * // whether to bundle JS and assets in release mode
  25. * bundleInRelease: true,
  26. *
  27. * // whether to bundle JS and assets in another build variant (if configured).
  28. * // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
  29. * // The configuration property can be in the following formats
  30. * // 'bundleIn${productFlavor}${buildType}'
  31. * // 'bundleIn${buildType}'
  32. * // bundleInFreeDebug: true,
  33. * // bundleInPaidRelease: true,
  34. * // bundleInBeta: true,
  35. *
  36. * // the root of your project, i.e. where "package.json" lives
  37. * root: "../../",
  38. *
  39. * // where to put the JS bundle asset in debug mode
  40. * jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
  41. *
  42. * // where to put the JS bundle asset in release mode
  43. * jsBundleDirRelease: "$buildDir/intermediates/assets/release",
  44. *
  45. * // where to put drawable resources / React Native assets, e.g. the ones you use via
  46. * // require('./image.png')), in debug mode
  47. * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
  48. *
  49. * // where to put drawable resources / React Native assets, e.g. the ones you use via
  50. * // require('./image.png')), in release mode
  51. * resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
  52. *
  53. * // by default the gradle tasks are skipped if none of the JS files or assets change; this means
  54. * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
  55. * // date; if you have any other folders that you want to ignore for performance reasons (gradle
  56. * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
  57. * // for example, you might want to remove it from here.
  58. * inputExcludes: ["android/**", "ios/**"],
  59. *
  60. * // override which node gets called and with what additional arguments
  61. * nodeExecutableAndArgs: ["node"]
  62. *
  63. * // supply additional arguments to the packager
  64. * extraPackagerArgs: []
  65. * ]
  66. */
  67.  
  68. apply from: "../../node_modules/react-native/react.gradle"
  69.  
  70. /**
  71. * Set this to true to create two separate APKs instead of one:
  72. * - An APK that only works on ARM devices
  73. * - An APK that only works on x86 devices
  74. * The advantage is the size of the APK is reduced by about 4MB.
  75. * Upload all the APKs to the Play Store and people will download
  76. * the correct one based on the CPU architecture of their device.
  77. */
  78. def enableSeparateBuildPerCPUArchitecture = false
  79.  
  80. /**
  81. * Run Proguard to shrink the Java bytecode in release builds.
  82. */
  83. def enableProguardInReleaseBuilds = false
  84.  
  85. android {
  86. compileSdkVersion 23
  87. buildToolsVersion "23.0.1"
  88.  
  89. defaultConfig {
  90. applicationId "com.testmapbox"
  91. minSdkVersion 16
  92. targetSdkVersion 22
  93. versionCode 1
  94. versionName "1.0"
  95. ndk {
  96. abiFilters "armeabi-v7a", "x86"
  97. }
  98. }
  99. splits {
  100. abi {
  101. reset()
  102. enable enableSeparateBuildPerCPUArchitecture
  103. universalApk false // If true, also generate a universal APK
  104. include "armeabi-v7a", "x86"
  105. }
  106. }
  107. buildTypes {
  108. release {
  109. minifyEnabled enableProguardInReleaseBuilds
  110. proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
  111. }
  112. }
  113. // applicationVariants are e.g. debug, release
  114. applicationVariants.all { variant ->
  115. variant.outputs.each { output ->
  116. // For each separate APK per architecture, set a unique version code as described here:
  117. // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
  118. def versionCodes = ["armeabi-v7a":1, "x86":2]
  119. def abi = output.getFilter(OutputFile.ABI)
  120. if (abi != null) { // null for the universal-debug, universal-release variants
  121. output.versionCodeOverride =
  122. versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
  123. }
  124. }
  125. }
  126. }
  127.  
  128. dependencies {
  129. compile project(':react-native-mapbox-gl')
  130. compile fileTree(dir: "libs", include: ["*.jar"])
  131. compile "com.android.support:appcompat-v7:23.0.1"
  132. compile "com.facebook.react:react-native:+" // From node_modules
  133. }
  134.  
  135. // Run this once to be able to run the application with BUCK
  136. // puts all compile dependencies into folder libs for BUCK to use
  137. task copyDownloadableDepsToLibs(type: Copy) {
  138. from configurations.compile
  139. into 'libs'
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement