git ssb

1+

Rômulo Alves / dat-react-native



Tree: 9e1760cdb440b581390169946efdd4c5aadefd34

Files: 9e1760cdb440b581390169946efdd4c5aadefd34 / android / app / build.gradle

5948 bytesRaw
1apply plugin: "com.android.application"
2
3import 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 * // whether to disable dev mode in custom build variants (by default only disabled in release)
37 * // for example: to disable dev mode in the staging build type (if configured)
38 * devDisabledInStaging: true,
39 * // The configuration property can be in the following formats
40 * // 'devDisabledIn${productFlavor}${buildType}'
41 * // 'devDisabledIn${buildType}'
42 *
43 * // the root of your project, i.e. where "package.json" lives
44 * root: "../../",
45 *
46 * // where to put the JS bundle asset in debug mode
47 * jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
48 *
49 * // where to put the JS bundle asset in release mode
50 * jsBundleDirRelease: "$buildDir/intermediates/assets/release",
51 *
52 * // where to put drawable resources / React Native assets, e.g. the ones you use via
53 * // require('./image.png')), in debug mode
54 * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
55 *
56 * // where to put drawable resources / React Native assets, e.g. the ones you use via
57 * // require('./image.png')), in release mode
58 * resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
59 *
60 * // by default the gradle tasks are skipped if none of the JS files or assets change; this means
61 * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
62 * // date; if you have any other folders that you want to ignore for performance reasons (gradle
63 * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
64 * // for example, you might want to remove it from here.
65 * inputExcludes: ["android/**", "ios/**"],
66 *
67 * // override which node gets called and with what additional arguments
68 * nodeExecutableAndArgs: ["node"],
69 *
70 * // supply additional arguments to the packager
71 * extraPackagerArgs: []
72 * ]
73 */
74
75project.ext.react = [
76 entryFile: "index.js"
77]
78
79apply from: "../../node_modules/react-native/react.gradle"
80
81/**
82 * Set this to true to create two separate APKs instead of one:
83 * - An APK that only works on ARM devices
84 * - An APK that only works on x86 devices
85 * The advantage is the size of the APK is reduced by about 4MB.
86 * Upload all the APKs to the Play Store and people will download
87 * the correct one based on the CPU architecture of their device.
88 */
89def enableSeparateBuildPerCPUArchitecture = false
90
91/**
92 * Run Proguard to shrink the Java bytecode in release builds.
93 */
94def enableProguardInReleaseBuilds = false
95
96android {
97 compileSdkVersion 23
98 buildToolsVersion "23.0.1"
99
100 defaultConfig {
101 applicationId "com.beakerreactnative"
102 minSdkVersion 16
103 targetSdkVersion 22
104 versionCode 1
105 versionName "1.0"
106 ndk {
107 abiFilters "armeabi-v7a", "x86"
108 }
109 }
110 splits {
111 abi {
112 reset()
113 enable enableSeparateBuildPerCPUArchitecture
114 universalApk false // If true, also generate a universal APK
115 include "armeabi-v7a", "x86"
116 }
117 }
118 buildTypes {
119 release {
120 minifyEnabled enableProguardInReleaseBuilds
121 proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
122 }
123 }
124 // applicationVariants are e.g. debug, release
125 applicationVariants.all { variant ->
126 variant.outputs.each { output ->
127 // For each separate APK per architecture, set a unique version code as described here:
128 // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
129 def versionCodes = ["armeabi-v7a":1, "x86":2]
130 def abi = output.getFilter(OutputFile.ABI)
131 if (abi != null) { // null for the universal-debug, universal-release variants
132 output.versionCodeOverride =
133 versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
134 }
135 }
136 }
137}
138
139dependencies {
140 compile project(':react-native-fs')
141 compile project(':nodejs-mobile-react-native')
142 compile fileTree(dir: "libs", include: ["*.jar"])
143 compile "com.android.support:appcompat-v7:23.0.1"
144 compile "com.facebook.react:react-native:+" // From node_modules
145}
146
147// Run this once to be able to run the application with BUCK
148// puts all compile dependencies into folder libs for BUCK to use
149task copyDownloadableDepsToLibs(type: Copy) {
150 from configurations.compile
151 into 'libs'
152}
153

Built with git-ssb-web