Update readme and engines definition in package.json
This commit is contained in:
@@ -25,15 +25,6 @@ The app is built in React Native and currently developed for Android.
|
||||
|
||||
Install [Android Studio](https://developer.android.com/studio/) - you'll need it to install some dependencies.
|
||||
|
||||
#### 2. Node & npm version
|
||||
|
||||
Make sure you are running Node 10 and npm 6.x (newer versions won't work). It's easiest to switch Node versions using `nvm`, here's how to do it:
|
||||
|
||||
|
||||
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
|
||||
$ nvm install v10
|
||||
|
||||
|
||||
#### 3. Get this repository
|
||||
|
||||
Clone it with SSH
|
||||
@@ -58,16 +49,19 @@ Open Android Studio and click on "Open an existing Android Studio project". Navi
|
||||
Either start a [virtual device in Android Studio](https://developer.android.com/studio/run/emulator) or [set your physical device like your Android phone up](https://developer.android.com/training/basics/firstapp/running-app) to run the app.
|
||||
|
||||
1. Open a terminal and run
|
||||
|
||||
```
|
||||
$ npm run android
|
||||
```
|
||||
|
||||
2. To see logging output, run the following command in another tab:
|
||||
|
||||
```
|
||||
$ npm run log
|
||||
```
|
||||
|
||||
3. Run the following command and select enable hot reloading (see https://facebook.github.io/react-native/docs/debugging.html):
|
||||
|
||||
```
|
||||
$ adb shell input keyevent 82
|
||||
```
|
||||
@@ -77,52 +71,57 @@ Either start a [virtual device in Android Studio](https://developer.android.com/
|
||||
#### 6. Run app on iOS
|
||||
|
||||
Minimum system requirements to run iOS app are as follows:
|
||||
|
||||
- MacOS 10.15.7 for Mac users
|
||||
- Xcode 12.3 (I assume, that only command line tools might be enough)
|
||||
|
||||
1. Install XCode dependencies by running the following command from the root project directory:
|
||||
|
||||
```
|
||||
$ cd ios && pod install && cd ..
|
||||
```
|
||||
|
||||
2. To run app either open drip workspace ('drip.xcworkspace' file) with XCode and run "Build" or run the following command:
|
||||
|
||||
```
|
||||
$ npm run ios
|
||||
```
|
||||
|
||||
3. If you are building the app with XCode make sure you are running this as well:
|
||||
`$ npm start`
|
||||
`$ npm start`
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
#### [MacOS] Java problems
|
||||
|
||||
Make sure that you have Java 1.8 by running `java -version`.
|
||||
|
||||
If you don't have Java installed, or your Java version is different, the app may not work. You can try just using Android Studio's Java by prepending it to your `$PATH` in your shell profile:
|
||||
```
|
||||
$ export PATH="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin:${PATH}"
|
||||
```
|
||||
` $ export PATH="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin:${PATH}" `
|
||||
|
||||
Now, `which java` should output `/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java`, and the correct Java version should be used.
|
||||
|
||||
#### [MacOS] Ninja
|
||||
|
||||
If `npm` says `CMake was unable to find a build program corresponding to "Ninja".`:
|
||||
```
|
||||
$ brew install ninja
|
||||
```
|
||||
` $ brew install ninja `
|
||||
|
||||
### [MacOS] adb not on the path
|
||||
|
||||
If you get error messages about `adb` not being found on your path:
|
||||
```
|
||||
$ ln -s ~/Library/Android/sdk/platform-tools/adb /usr/local/bin/adb
|
||||
```
|
||||
` $ ln -s ~/Library/Android/sdk/platform-tools/adb /usr/local/bin/adb `
|
||||
|
||||
### [MacOS] and XCode 12.5
|
||||
|
||||
If you run XCode 12.5, more likely you'll have problems building app for iOS. Please use the following fix: https://stackoverflow.com/a/67320887.
|
||||
|
||||
If you experience any further issues, please feel free to check out the following threads:
|
||||
|
||||
- [react-native run-ios build failure on XCode 12.5 beta](https://github.com/react-native-community/cli/issues/1365)
|
||||
- [Xcode 12.5 troubleshooting guide (RN 0.61/0.62/0.63/0.64)](https://github.com/facebook/react-native/issues/31480)
|
||||
|
||||
### Clearing project cache
|
||||
|
||||
If you would like to clear project cache and/or re-install project libraries, you can run clear script as follows:
|
||||
|
||||
$ npm run clear
|
||||
@@ -141,12 +140,12 @@ For example, if you would like to clear android part of the project and re-insta
|
||||
## Tests
|
||||
|
||||
### Unit tests
|
||||
|
||||
You can run the tests with:
|
||||
```
|
||||
$ npm test
|
||||
```
|
||||
` $ npm test `
|
||||
|
||||
### End to end tests
|
||||
|
||||
1. Check what testing device is specified in [package.json](https://gitlab.com/bloodyhealth/drip/blob/master/package.json) under:
|
||||
```
|
||||
{"detox":
|
||||
@@ -158,28 +157,26 @@ You can run the tests with:
|
||||
2. Check if the current device is already installed on your machine. Go to `cd ~/Android/sdk/emulator/` or wherever you have Android installed on your machine. Here you can run `./emulator -list-avds` and compare the devices with the one you found in step 1.
|
||||
3. Open Android Studio and go to -> Tools -> AVD manager -> `+Create virtual device` and select the device checked in the previous step
|
||||
4. Use the emulator on your machine to run it without heavy Android Studio, e.g. in `~/Android/Sdk/emulator` OR chose to run the emulator within Android Studio
|
||||
4.1 Here run: `$ ./emulator -avd NEXUS_DEVICE_OR_WHATEVER_SPECIFIED_DEVICE`
|
||||
4.2 You might need to specify the following environment variables in your zsh or bash file according to where you have it installed. You can find exact path in Android Studio (Android Studio Preferences → Appearance and Behavior → System Settings → Android SDK). After adding environment variables, you might need to restart your terminal or source the modified bash profile (i.e. "source ~/.bash_profile").
|
||||
```
|
||||
export ANDROID_HOME="/home/myname/Android/Sdk"
|
||||
export ANDROID_SDK_ROOT="/home/myname/Android/Sdk"
|
||||
export ANDROID_AVD_HOME="/home/myname/.android/avd"
|
||||
```
|
||||
4.1 Here run: `$ ./emulator -avd NEXUS_DEVICE_OR_WHATEVER_SPECIFIED_DEVICE`
|
||||
4.2 You might need to specify the following environment variables in your zsh or bash file according to where you have it installed. You can find exact path in Android Studio (Android Studio Preferences → Appearance and Behavior → System Settings → Android SDK). After adding environment variables, you might need to restart your terminal or source the modified bash profile (i.e. "source ~/.bash_profile").
|
||||
` export ANDROID_HOME="/home/myname/Android/Sdk" export ANDROID_SDK_ROOT="/home/myname/Android/Sdk" export ANDROID_AVD_HOME="/home/myname/.android/avd" `
|
||||
5. For the first time you need to get the app on the phone or if you run into this error:
|
||||
`'app-debug-androidTest.apk' could not be found`
|
||||
--> open a new 2nd tab and run (in your drip folder): `cd android and ./gradlew assembleAndroidTest`
|
||||
Otherwise just open a new 2nd tab to run (in your drip folder) `npm run android`
|
||||
--> open a new 2nd tab and run (in your drip folder): `cd android and ./gradlew assembleAndroidTest`
|
||||
Otherwise just open a new 2nd tab to run (in your drip folder) `npm run android`
|
||||
6. Open a new 3rd tab to run `./node_modules/.bin/detox test -c android.emu.debug`
|
||||
|
||||
Hopefully you see the magic happening clicking through the app and happy test results on your console :sun_with_face: !
|
||||
|
||||
## Debugging
|
||||
|
||||
In order to see logging output from the app, run `npm run log` in a separate terminal. You can output specific code you want to see, with:
|
||||
`console.log(theVariableIWantToSeeHere)`
|
||||
or just a random string to check if this piece of code is actually running:
|
||||
`console.log("HELLO")`.
|
||||
|
||||
## NFP rules
|
||||
|
||||
More information about how the app calculates fertility status and bleeding predictions in the [wiki on Gitlab](https://gitlab.com/bloodyhealth/drip/wikis/home).
|
||||
|
||||
## Adding a new tracking icon
|
||||
@@ -194,4 +191,5 @@ More information about how the app calculates fertility status and bleeding pred
|
||||
5. You should be able to use the icon now within drip, e.g. in Cycle Day Overview and on the chart.
|
||||
|
||||
## Translation
|
||||
|
||||
We are using [Weblate](https://weblate.org/) as translation software.
|
||||
|
||||
+1
-5
@@ -106,9 +106,5 @@
|
||||
"bugs": {
|
||||
"url": "https://gitlab.com/bloodyhealth/drip/issues"
|
||||
},
|
||||
"homepage": "https://gitlab.com/bloodyhealth/drip#README",
|
||||
"engines": {
|
||||
"node": ">=10.0.0 <11",
|
||||
"npm": ">=6.0.0 <7"
|
||||
}
|
||||
"homepage": "https://gitlab.com/bloodyhealth/drip#README"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user