3
3
4
4
# Basic template create, rnfb install, link
5
5
\r m -fr rnfbdemo
6
- react-native init rnfbdemo
6
+
7
+ # Which version of react-native to demo?
8
+ if [ " ${RNVERSION} " == " 60" ]; then
9
+ JETIFY=true
10
+ echo " Testing react-native 0.60"
11
+ react-native init rnfbdemo --version
[email protected]
12
+ else
13
+ # In the absence of overrides, we will work on RNVersion 59
14
+ RNVERSION=59
15
+ echo " Testing react-native 0.59"
16
+ react-native init rnfbdemo --version
[email protected]
17
+ fi
7
18
cd rnfbdemo
19
+
8
20
npm i react-native-firebase
9
21
react-native link react-native-firebase
10
22
cd ios
@@ -55,12 +67,18 @@ sed -i -e $'s/dependencies {/dependencies {\\\n implementation "me.leolin:Sho
55
67
rm -f android/app/build.gradle??
56
68
57
69
# Set the Java application up for multidex (needed for API<21 w/Firebase)
58
- sed -i -e $' s/dependencies {/dependencies {\\\n implementation "com.android.support:multidex:1.0.3"/' android/app/build.gradle
59
- rm -f android/app/build.gradle??
60
- sed -i -e $' s/import android.app.Application;/import android.support.multidex.MultiDexApplication;/' android/app/src/main/java/com/rnfbdemo/MainApplication.java
61
- rm -f android/app/src/main/java/com/rnfbdemo/MainApplication.java??
62
- sed -i -e $' s/extends Application/extends MultiDexApplication/' android/app/src/main/java/com/rnfbdemo/MainApplication.java
63
- rm -f android/app/src/main/java/com/rnfbdemo/MainApplication.java??
70
+ # if [ "${JETIFY}" == "TRUE" ]; then
71
+ # sed -i -e $'s/dependencies {/dependencies {\\\n implementation "androidx.multidex:multidex:2.0.1"/' android/app/build.gradle
72
+ # sed -i -e $'s/import android.app.Application;/import androidx.multidex.MultiDexApplication;/' android/app/src/main/java/com/rnfbdemo/MainApplication.java
73
+ # else
74
+ # sed -i -e $'s/dependencies {/dependencies {\\\n implementation "com.android.support:multidex:1.0.3"/' android/app/build.gradle
75
+ # sed -i -e $'s/import android.app.Application;/import android.support.multidex.MultiDexApplication;/' android/app/src/main/java/com/rnfbdemo/MainApplication.java
76
+ # fi
77
+
78
+ # rm -f android/app/build.gradle??
79
+ # rm -f android/app/src/main/java/com/rnfbdemo/MainApplication.java??
80
+ # sed -i -e $'s/extends Application/extends MultiDexApplication/' android/app/src/main/java/com/rnfbdemo/MainApplication.java
81
+ # rm -f android/app/src/main/java/com/rnfbdemo/MainApplication.java??
64
82
65
83
# Set up AdMob Java stuff
66
84
sed -i -e $' s/dependencies {/dependencies {\\\n implementation "com.google.firebase:firebase-ads:15.0.1"/' android/app/build.gradle
@@ -80,8 +98,19 @@ rm -f android/app/src/main/AndroidManifest.xml??
80
98
# Copy in our demonstrator App.js
81
99
rm ./App.js && cp ../App.js .
82
100
101
+ # Test out AndroidX via jetify
102
+ # Assuming your code uses AndroidX, this is all the AndroidStudio AndroidX migration does besides transform
103
+ # your app source and app libraries
104
+ if [ " ${JETIFY} " == " true" ]; then
105
+ echo " android.useAndroidX=true" >> android/gradle.properties
106
+ echo " android.enableJetifier=true" >> android/gradle.properties
107
+ npm i jetifier
108
+ npm i --save-dev node-pre-gyp
109
+ npx jetify
110
+ fi
111
+
83
112
# Run the thing for iOS
84
- react-native run-ios
113
+ # react-native run-ios
85
114
86
115
# Run it for Android (assumes you have an android emulator running)
87
116
USER=` whoami`
0 commit comments