The prefered approach to include greenDAO is referencing greenDAO using Maven or Gradle. Add dependencies to group ID “de.greenrobot” with the artifact IDs greendao and greendao-generator to add greenDAO to your project.

If you don’t use Maven or Gradle, please download the jars directly from Maven Central using the artifacts links given above.

After download, please have a look on how to get started and the documentation in general.

Open source

greenDAO is completely open source: check out .

Even if you do not plan to work with greenDAO’s code, it’s recommended to have a look at the source version. For example, it comes with a test project (DaoTest), which makes use of all available greenDAO features. Thus, it’s a good place to see how greenDAO is used. Also, source code is the better documentation, right? ;)

Contributing code

If you want to contribute code, you will need to sign the greenrobot Contributor Agreement (based on the standard Oracle Contributor Agreement “OCA”). Please print, fill out all required fields, and sign the agreement. Then send a scanned copy of the agreement to: opensource (at) greenrobot (dot) de. If you have any questions on the agreement, please consult information on the OCA, which also contains a FAQ document.
Without a contributor agreement your code cannot be merged into the master branch of the official greenDAO repository. If you want to contribute just a rather small fix, your pull request will probably still help us to identify and fix the issue for ourselves.

Unofficial branch (obsolete for now)

Besides the master branch, we introduced an experimental branch called “unofficial”. We merged selected pull requests from other developers into the unofficial branch for the community to experiment with. However, code from this branch probably won’t make it to the master branch and neither into official releases. The reason for that are mostly legal issues (see “Contributing code”).

If you want to experiment with the unofficial branch keep in mind that it…

  • may be API-incompatible with the official version
  • may be not tested at all
  • may be discarded at any time
  • may be replaced with another version at any time
  • is completely unsupported (mailing list etc.)

The reason the unstable branch still exists is that you may find interesting new features or fixes that are not available in the official master branch yet.