/cgeo

c:geo - The powerful Android geocaching app.

Primary LanguageJavaApache License 2.0Apache-2.0

c:geo is a simple yet powerful unofficial geocaching client for Android devices. In contrast to other similar applications, c:geo doesn't require a web browser nor file exports. You can just go geocaching with your phone and without any home preparation or worries. Of course, you can go without paying - it's free.

You want to contribute?

Perfect! Please tell us in the issue tracker before hacking on your great new feature. It would be bad if you have implemented something great, but we can't include it because it doesn't fit the remaining architecture and code. You might also want to chat with the developers on channel #cgeo on the freenode IRC network.

Build Status

Get the source

Fork the project source code, make changes to your clone and create a pull request afterwards.

Branches

  • master is for development of new features. Nightly builds are created from this branch.
  • release is for all bug fixes of already existing features. So if a bug is reported in released version, it should be fixed on this branch (and merged to master afterwards).

A more complex bugfix can be first tested against the master branch and integrated in the nightly builds, while kept compatible with the release branch for a later integration. Such a procedure is described in the wiki.

Set up Eclipse

Build

Prerequisites

  • Android SDK (latest version) including Google APIs V11 (although we target API 4)
  • Ant 1.6.0+ for building c:geo on the command line (not necessary when using only Eclipse)
  • If you use Microsoft Windows, Google USB Driver to install the application on the smartphone

Structure

c:geo sources and executables are located in the main directory. Tests are located in the tests directory.

Known limitations

If the workspace directory name contains a space and leads to errors in the -dex Ant target, then you need to set the property "basedir" in your local.properties to the 8.3 name of the directory where this script is located on your disk.

Configuration

  1. copy ./main/templates/private.properties to ./main/
  2. edit private.properties (see comments in the file)
  3. copy ./main/templates/local.properties to ./main/
  4. copy ./main/templates/local.properties to ./tests/
  5. edit local.properties (see comments in the file)
  6. copy ./main/templates/keys.xml to ./main/res/values/
  7. edit ./main/res/values/keys.xml and insert several keys (see comments in the file) 7.a) Google Maps API key 7.b) request your personal consumer key and secret at opencaching.de OKAPI signup 7.c) request your personal consumer key and secret at opencaching.pl OKAPI signup

Building with Ant

Run one of the following commands in ./main

ant help
ant clean
ant debug
ant release

or use the Ant view of Eclipse

Debugging

In Eclipse, create a Debug Configuration for an Android Application using the menu Run | Debug Configurations

Testing

The Test classes can be found in the project cgeo-os-test. Test classes should be located in the same package as the class under test. Every class can be "Run As" (or "Debug As") an Android JUnit Test from Eclipse. To run all tests use the same "Run As" menu item from the context menu of the test project.

For tests to run successfully you need to configure c:geo on the emulator that runs the test with a valid geocaching.com account. In order for all tests to be successfull the account needs to be premium.

License

c:geo is distributed under Apache License, Version 2.0.

Contact