Skip to content

jbeorse/androidlibrary

 
 

Repository files navigation

androidlibrary

This project is actively maintained

It is part of the ODK 2.0 Android tools suite.

This is a library APK used by all the ODK 2.0 Android tools.

The developer wiki (including release notes) and issues tracker are located under the opendatakit project.

The Google group for software engineering questions is: opendatakit-developers@

Build Status

master demo development
Build Status Build Status Build Status

Branch Structure

There are three branches in our git workflow:

  • master is where fully released and stable code lives. Changes flow into this branch from demo. Each merge correponds with an official release or a hot fix.
  • demo is where beta versions are tested before release and also where we hold demo or preview versions of upcoming releases and new features. This branch is more stable than development but should still only be used for testing purposes. Changes flow into this branch from development.
  • development is where new features and code changes are made. This branch is the bleeding edge and is not stable. It should only be used for development and testing purposes. If you want to submit a pull request, please do it against development.

Setting up your environment and building the project

General instructions for setting up an ODK 2.0 environment can be found at our DevEnv Setup wiki page

Install Android Studio and the SDK.

Open the androidlibrary project directory in Android Studio.

Now you should be ready to build, by selecting Build->Make Project.

Alternatively, you can build from the command line using Gradle. From the root directory of this project, run:

gradlew clean assemble

For more details see the Gradle documentation for Andoid.

Running

NOTE this project will NOT run on an Android device by itself, it is simply a library for use in other ODK projects.

Downloading Binaries

You can use ivy (for the development and demo branches) and maven (for the master branch) to access prebuilt binaries within your project. Your build.gradle file might look like this:

allprojects {
    repositories {
        jcenter()
        ivy {
            url 'http://cwe.cs.washington.edu:8082/artifactory/libs-demo/'
        }
        maven {
            url 'http://cwe.cs.washington.edu:8082/artifactory/libs-master/'
        }
        ivy {
            url 'http://cwe.cs.washington.edu:8082/artifactory/libs-snapshot/'
        }
    }
}

We are already doing this in our other projects such as our root build.gradle file in Services.

Each commit to the development branch is built and published to our Artifactory server's snapshot library. They can be identified by their git hash in their versioning. They are also linked between our Jenkins build server and Artifactory by build number.

Furthermore, each beta version published to the demo branch is published to our Artifactory server's demo library and similarly linked to the Jenkins build server.

Finally, each release version published to the master branch is published to our Artifactory server's master library. However, these are NOT built by Jenkins; they are built and tested by hand for the release.

Contributing

If you would like to contribute, good places to start are the issues tracker and the forum.

Pull requests are welcome, though please submit them against the development branch. We prefer verbose descriptions of the change you are submitting. If you are fixing a bug please provide steps to reproduce it or a link to a an issue that provides that information. If you are submitting a new feature please provide a description of the need or a link to a forum discussion about it.

About

Copy of androidlibrary with checkin history fixed

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%