Skip to content

Commit

Permalink
This pull request fixes issue #2 (#1)
Browse files Browse the repository at this point in the history
* Added INSTALL.md file to document installation steps
  • Loading branch information
akashdabhi03 authored Apr 24, 2019
1 parent dd5caa2 commit 8a05d9d
Show file tree
Hide file tree
Showing 2 changed files with 153 additions and 58 deletions.
95 changes: 95 additions & 0 deletions INSTALL-STANDALONE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Building RoboTutor

## Overview

The installation steps mentioned below will allow you to set up RoboTutor as a standalone application without installing the RoboLauncher and RoboTransfer applications.

**Note:**
1. The installation instructions work for both Windows and Mac OS.
2. Terminal in Mac OS is referred to as Command Prompt in Windows OS.
3. Use batch scripts (.bat files) for Windows OS and shell scripts (.sh files) for Mac OS.

## Requirements
1. Ensure you have _adb_ installed on your computer. You can [follow the steps in this helpful guide](https://www.androidpit.com/how-to-install-adb-and-fastboot).
2. Connect your device to the computer via USB.

## 1. Device preparation

##### Enable developer mode
1. Go to **Settings > About tablet**.
2. Tap **Build Number** 7 times until it displays _"You are now a developer"_.

##### Enable USB Debugging
1. Go to **Settings > Developer options**.
2. Tap **Enable USB debugging**.
3. Tap **OK** when prompted with a disclaimer.
4. You should see a dialog with your computer's _"RSA key fingerprint"_.
5. Tap **Always allow from this computer**.
6. Tap **OK**.

## 2. Assets preparation

#### Preparing assets for English version
1. Clone the [**EnglishAssets**](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-EnglishAssets) repository:

git clone https://github.com/XPRIZE/GLEXP-Team-RoboTutor-EnglishAssets.git

2. Execute the following scripts to generate zip files:
* [ZIP_English_StoriesAudio.bat](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-EnglishAssets/blob/master/ZIP_English_StoriesAudio.bat)
* [ZIP_English_TutorAudio.bat](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-EnglishAssets/blob/master/ZIP_English_TutorAudio.bat)
3. Unzip the _English_StoriesAudio.1.1.0.zip_ and _English_TutorAudio.1.1.0.zip_ zip files.

4. Create a folder named _robotutor_assets_ in the internal storage of your Android device.

5. Copy the assets folder from _English_StoriesAudio.1.1.0_ and _English_TutorAudio.1.1.0_ folders into the _robotutor_assets_ folder using the Windows (or Mac) OS file explorer.

#### Preparing assets for Swahili version
1. Clone the [**SwahiliAssets**](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-CodeDrop2-Assets) repository:

git clone https://github.com/XPRIZE/GLEXP-Team-RoboTutor-CodeDrop2-Assets.git

2. Execute the following scripts to push Swahili assets to your Android device:
* [PUSH_CodeDrop1_LitAudio_SW.sh](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-CodeDrop2-Assets/blob/master/PUSH_CodeDrop1_LitAudio_SW.sh)
* [PUSH_CodeDrop1_NumberStories_SW.sh](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-CodeDrop2-Assets/blob/master/PUSH_CodeDrop1_NumberStories_SW.sh)
* [PUSH_CodeDrop1_NumberStories_SW.sh](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-CodeDrop2-Assets/blob/master/PUSH_CodeDrop1_NumberStories_SW.sh)
* [PUSH_CodeDrop1_Songs_SW.sh](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-CodeDrop2-Assets/blob/master/PUSH_CodeDrop1_Songs_SW.sh)
* [PUSH_CodeDrop2_DemoVideos.sh](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-CodeDrop2-Assets/blob/master/PUSH_CodeDrop2_DemoVideos.sh)
* [PUSH_CodeDrop2_Icons.sh](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-CodeDrop2-Assets/blob/master/PUSH_CodeDrop2_Icons.sh)
* [PUSH_CodeDrop2_MathStories.sh](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-CodeDrop2-Assets/blob/master/PUSH_CodeDrop2_MathStories.sh)
* [PUSH_CodeDrop2_Original_SW.sh](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-CodeDrop2-Assets/blob/master/PUSH_CodeDrop2_Original_SW.sh)
* [PUSH_CodeDrop2_PuncStories.sh](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-CodeDrop2-Assets/blob/master/PUSH_CodeDrop2_PuncStories.sh)
* [PUSH_CodeDrop2_ReadingStories_SW.sh](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-CodeDrop2-Assets/blob/master/PUSH_CodeDrop2_ReadingStories_SW.sh)
* [PUSH_CodeDrop2_Tutors_SW.sh](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-CodeDrop2-Assets/blob/master/PUSH_CodeDrop2_Tutors_SW.sh)

## 3. Pushing configuration file

#### Pushing configuration file for English version
1. Clone the [**RoboTutor**](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-RoboTutor) repository:

git clone https://github.com/XPRIZE/GLEXP-Team-RoboTutor-RoboTutor.git

2. Execute the [configure_english.sh](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-RoboTutor/blob/master/app/src/sample_config_files/configure_english.sh) script to push the configuration file.

#### Pushing configuration file for Swahili version
1. Clone the [**SystemBuild**](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-SystemBuild) repository:

git clone https://github.com/XPRIZE/GLEXP-Team-RoboTutor-SystemBuild.git

2. Execute the following command from terminal to push the configuration file:

adb push config_sw/config.json /sdcard/Download
(**Note:** The configuration file needs to be stored in _Download_ folder on _sdcard_ since the application searches for it in _Download_ folder.)

## 4. Building and installing the RoboTutor app

1. Ensure that you have installed [**Android Studio**](https://developer.android.com/studio/install.html).

2. Open Android Studio and import the [RoboTutor](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-RoboTutor) project.

3. Install different versions of the Build Tools and Android SDKs as prompted by Android Studio.

4. Go to _Run_ and select _Run 'app'_ option. This will install the RoboTutor application onto your Android device.
Alternatively, you can build the APK by selecting _Build_ and then _Make Project_. Copy the APK generated in _[app](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-RoboTutor/tree/master/app)/build/outputs/apk_ folder to your Android device and install it.

5. Launch the RoboTutor app from the app drawer.
116 changes: 58 additions & 58 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,58 @@
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

# **RoboTutor**


Welcome to RoboTutor: this version was uploaded to XPrize 11/20/2018. For subsequent changes, see [https://github.com/RoboTutorLLC/RoboTutor](https://github.com/RoboTutorLLC/RoboTutor).



## **Setup and Configuration:**

[Install Android Studio](http://developer.android.com/sdk/index.html)<br>

[Install GitHub Desktop](https://desktop.github.com/)<br>

RoboTutor uses a large volume of external assets at runtime. To successfully run RoboTutor you must first install these assets on your target device: [English](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-EnglishAssets). [Swahili](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-CodeDrop2-Assets). Once you have cloned and run the associated tools to push the data assets to your device you can proceed with building RoboTutor.


## **Building RoboTutor:**

1. Clone RoboTutor to your computer using Git/GitHub

2. **Import** the RoboTutor project into Android Studio.

3. You may need to install different versions of the build tools and android SDKs.

4. There are a number of build variants you can select to generate versions that support static language selections and also vesions that permit dynamic language selection at runtime. In order to generate any flavor that depends on the key signature, you must generate your own keystore (see next steps). Note that the version used in the XPrize code drop 1 submission usees flavor *release_sw*, which depends on a signed APK.


5. If you do not already have one, follow the steps [here](https://stackoverflow.com/questions/3997748/how-can-i-create-a-keystore) to generate a keystore.

6. Add a file named "keystore.properties" to your root project directory, and give it the following contents. The values should be based on the values you used to generate the keystore.
```
storePassword=<your_store_password>
keyPassword=<your_key_password>
keyAlias=<your_key_alias>
storeFile=<path_to_location_of_keystore>
```

7. Use Android Studio or gradlew to generate a signed APK with the flavor *release_sw*. This will generate the file *robotutor.release_sw.1.8.8.1.apk*. This APK should be transferred to the apk in your local SystemBuild directory.





## **XPrize Submission:**

The following repositories are part of the Team-RoboTutor entry:
* XPRIZE/GLEXP-Team-RoboTutor-RoboTutor
* XPRIZE/GLEXP-Team-RoboTutor-SystemBuild
* XPRIZE/GLEXP-Team-RoboTutor-RTAsset_Publisher
* XPRIZE/GLEXP-Team-RoboTutor-CodeDrop1-Assets
* XPRIZE/GLEXP-Team-RoboTutor-RoboLauncher
* XPRIZE/GLEXP-Team-RoboTutor-RoboTransfer


<br>
<br>
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

# **RoboTutor**


Welcome to RoboTutor: this version was uploaded to XPrize 11/20/2018. For subsequent changes, see [https://github.com/RoboTutorLLC/RoboTutor](https://github.com/RoboTutorLLC/RoboTutor).



## **Setup and Configuration:**

[Install Android Studio](http://developer.android.com/sdk/index.html)<br>

[Install GitHub Desktop](https://desktop.github.com/)<br>

RoboTutor uses a large volume of external assets at runtime. To successfully run RoboTutor you must first install these assets on your target device: [English](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-EnglishAssets). [Swahili](https://github.com/XPRIZE/GLEXP-Team-RoboTutor-CodeDrop2-Assets). Once you have cloned and run the associated tools to push the data assets to your device you can proceed with building RoboTutor.


## **Building RoboTutor:**

1. Clone RoboTutor to your computer using Git/GitHub

2. **Import** the RoboTutor project into Android Studio.

3. You may need to install different versions of the build tools and android SDKs.

4. There are a number of build variants you can select to generate versions that support static language selections and also vesions that permit dynamic language selection at runtime. In order to generate any flavor that depends on the key signature, you must generate your own keystore (see next steps). Note that the version used in the XPrize code drop 1 submission usees flavor *release_sw*, which depends on a signed APK.


5. If you do not already have one, follow the steps [here](https://stackoverflow.com/questions/3997748/how-can-i-create-a-keystore) to generate a keystore.

6. Add a file named "keystore.properties" to your root project directory, and give it the following contents. The values should be based on the values you used to generate the keystore.
```
storePassword=<your_store_password>
keyPassword=<your_key_password>
keyAlias=<your_key_alias>
storeFile=<path_to_location_of_keystore>
```

7. Use Android Studio or gradlew to generate a signed APK with the flavor *release_sw*. This will generate the file *robotutor.release_sw.1.8.8.1.apk*. This APK should be transferred to the apk in your local SystemBuild directory.





## **XPrize Submission:**

The following repositories are part of the Team-RoboTutor entry:
* XPRIZE/GLEXP-Team-RoboTutor-RoboTutor
* XPRIZE/GLEXP-Team-RoboTutor-SystemBuild
* XPRIZE/GLEXP-Team-RoboTutor-RTAsset_Publisher
* XPRIZE/GLEXP-Team-RoboTutor-CodeDrop1-Assets
* XPRIZE/GLEXP-Team-RoboTutor-RoboLauncher
* XPRIZE/GLEXP-Team-RoboTutor-RoboTransfer


<br>
<br>

0 comments on commit 8a05d9d

Please sign in to comment.