The goal of this assignment is to get a simple, default, Android Cordova application running on your phone or on an AndroidX86 build. Preliminaries. Be sure the following installed:
sudo apt-get install lib32stdc++6
sudo apt-get install lib32z1
In general, when doing development, it can also be useful to install the C++ compiler, though it is probably not essential to this process. In particular, if you get an error saying that make is missing, then install build-essential:
sudo apt-get install build-essential
More info is here
This should already have been done for you. But if you ever need to do it:
In the old days, we could download the Android SDK. Not Android Studio, just the SDK. These aren't the old days. So download Android Studio instead.
Download the zip file
Unzip so that android-studio is in your home directory.
cd android-studio/bin/
Then start it: ./studio.sh &
When install the Android SDK, install the smallest amount possible. They are in league with various hard drive manufacturers and are trying to find ways to force you to buy a third 5 TB of storage.
This might work:
wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
Now you can start the Android Manager:
android
The following is done inside the Android Manager, launched in the previous section. The goal is install the Android API verison 23.
Note: The version of the Android API that you need can change over time, but if you need to get version 24 or 22 instead of 23, it should not be too difficult to adapt these instructions to help you achieve that goal. Also note that the big danger here is installing way more than you need. Gigabyte upon gigabyte more than you need. Install as little as possible.
Install Android API 23 by doing the following:
Then be sure the following is already installed:
Now prepare to add the following items by placing a check in front of them:
Now select the Install Five Packages button. You may get an error about failing to stop the ADB server. Since ADB is probably not yet installed, this error is expected, and you can ignore.
Go to your repository and do the following
cordova create Week01-CordovaStarter
cd Week01-CordovaStarter
cordova platform add android
cordova build android
If Cordova is unknown, then do this:
npm install -g cordova
If your build fails like this:
:CordovaLib:processDebugResources FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':CordovaLib:processDebugResources'.
> java.io.IOException: Cannot run program "/home/bcuser/Android/Sdk/build-tools/22.0.1/aapt": error=2, No such file or directory
You might be able to fix it with these commands, which were mentioned earlier:
sudo apt-get install lib32stdc++6
sudo apt-get install lib32z1
To connect to your Android X86, do the following:
NOTE: We use the netcfg command on AndroidX86 in order to see the IP address of the device. In particular, go to the application page and run the Terminal Emulator. All this is described in more depth in the AndroidX86Install assignment.
Suppose the IP address you found in the terminal on AndroidX86 was 192.168.1.2. Then you would type this on your Linux box to establish the connection:
adb connect 192.168.1.2
To confirm that it worked, you can can ask adb to display your connections:
adb devices
For instance, here is a sample run of both adb connect and adb devices:
charlie@forestpath:~/temp/Week01-Foo
$ adb connect 192.168.2.33
connected to 192.168.2.33:5555
charlie@forestpath:~/temp/Week01-Foo
$ adb devices
List of devices attached
192.168.2.33:5555 device
To install:
adb install [YOUR APK file]
A bit like this, perhaps:
$ adb install platforms/android/build/outputs/apk/android-debug.apk
10208 KB/s (1822587 bytes in 0.174s)
pkg: /data/local/tmp/android-debug.apk
Success
NOTE: An APK file contains your project. You can think of an APK file as an executable, as a program. It is really just a compressed file with your project inside it. If you install "Google Drive" on your phone, or if you install a computer game on your phone, then you are installing an APK file. The game comes in an APK file and your app comes in an APK file.
To uninstall your project:
Perhaps something like this:
$ adb uninstall io.cordova.hellocordova
Success
You must uninstall an existing APK before you try to update it. In other words, you can't copy your APK file over an existing APK file on a phone or on AndroidX86. Instead, you first uninstall it, then install your updated copy.
Edit the H1 element in www/index.html to include your last name. Rebuild the application and reinstall it.
This part of the assignment is optional for now. If you have not done so already, create a private repository on BitBucket or Github.
Use this naming scheme:
Push your work to the repository.
Information on SSH is here:
Be sure to share the repository with me. I'm ccalvert on BitBucket and charliecalvert on GitHub.
Submit a screen shot of your Cordova project running in Androidx86 inside VirtualBox.
Be sure that:
Here is the body of index.html, with the place where I want to see your name called out in square brackets:
<body>
<div class="app">
<h1>[YOUR NAME GOES HERE]</h1>
<div id="deviceready" class="blink">
<p class="event listening">Connecting to Device</p>
<p class="event received">Device is Ready</p>
</div>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
</body>
You need not write APACHE YOURNAME. It can be YOURNAME CORDOVA or whatever (within reason) strikes your fancy, so long as it is in the H1 tag and it contains your name.
Commands to remember:
For instance:
If you save the following in the root of your project folder as install, then you should be able to automate this process:
#! /bin/bash cordova build android adb uninstall io.cordova.hellocordova adb install platforms/android/build/outputs/apk/android-debug.apk
Then make it executable:
chmod +x install
To run it, type this:
./install
We'll discuss in class on Monday.
To try using your phone instead of AndroidX86, see this
This is outdated. Ignore it: