Difference between revisions of "MAP524/DPS924 Lab 1"

From CDOT Wiki
Jump to: navigation, search
(Part B: Configure your environment)
(Part B: Configure your environment)
Line 20: Line 20:
 
<li>In a terminal window, edit your .bashrc file to set your PATH and other environment variables.</li>
 
<li>In a terminal window, edit your .bashrc file to set your PATH and other environment variables.</li>
 
<pre>export PATH=/home/$USER/android-studio/gradle/gradle-2.2.1/bin:$PATH:/home/$USER/Android/Sdk/tools:/home/$USER/Android/Sdk/platform-tools:/home/$USER/bin
 
<pre>export PATH=/home/$USER/android-studio/gradle/gradle-2.2.1/bin:$PATH:/home/$USER/Android/Sdk/tools:/home/$USER/Android/Sdk/platform-tools:/home/$USER/bin
export ANDROID_SDK_HOME=/home/$USER/Android/Sdk
 
 
export HISTTIMEFORMAT='%F %T '
 
export HISTTIMEFORMAT='%F %T '
 
export HISTSIZE=2000</pre>
 
export HISTSIZE=2000</pre>

Revision as of 22:24, 30 June 2015

Lab 1: Build an Android App with Gradle

Part A: Setting up Android Studio on Linux

  1. Download the latest version of Android Studio.
  2. Unzip the file. You should get a directory named "android-studio".
  3. In a terminal step into the android-studio/bin directory and run the "studio.sh" script.
  4. Follow the instructions and install Android Studio. You should end up with something like this:

Android-studio-setuo-complete.png

  1. At this point you should be able to install any updates, if there are any, by clicking "Check for updates" at the bottom of the window.
  2. You can now close Android Studio.

Part B: Configure your environment

  1. In a terminal window, edit your .bashrc file to set your PATH and other environment variables.
  2. export PATH=/home/$USER/android-studio/gradle/gradle-2.2.1/bin:$PATH:/home/$USER/Android/Sdk/tools:/home/$USER/Android/Sdk/platform-tools:/home/$USER/bin
    export HISTTIMEFORMAT='%F %T '
    export HISTSIZE=2000
  3. You should now be able to run the gradle command without the ./ prefix. Try running this command to verify:
  4. gradle -h
  5. Unless it complains it's not executable, use the "chmod +x " command to add execute permissions to that file.
  6. Try the following commands to ensure they work. If they don't then adjust your environment in step 1 or install missing software. Also read the output from the adb/android commands to get an idea of what they are used for:
    java -version
    javac -version
    adb -h
    android -h
  7. We now need to create some basic source code so we can build it into an Android app. Use the mkdir command to create a source tree that looks like this (you can download the files you need here:
  8. .
    ├── build.gradle
    ├── local.properties
    └── src
        └── main
            ├── AndroidManifest.xml
            ├── java
            │   └── org
            │       └── hello
            │           └── HelloActivity.java
            └── res
                ├── layout
                │   └── hello_layout.xml
                └── values
                    └── strings.xml
    
  9. Finally you'll need to create a Gradle build file inside your project directory. The name of this file is "build.gradle" and it looks like this:
  10. buildscript {
        repositories {
            jcenter()
        }
    
        dependencies {
            classpath 'com.android.tools.build:gradle:1.0.0'
        }
    }
    
    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 22
        buildToolsVersion "22.0.1"
    
        defaultConfig {
               applicationId "org.hello"
               minSdkVersion 15
               targetSdkVersion 21
               versionCode 1
               versionName "1.0"
        }
    }
  11. You can now use Gradle to build your app. Just run this command from inside your project directory.
  12. gradle build
  13. Before you move on to PART C, try "gradle --help" to see what else gradle can do. If the build was successful you can run the Bash tree command to get a bird's eye view of what files/directories were created by the build. Save this tree output, you'll need it for PART D of this lab.