Menu

Tree [cf923b] master /
 History

HTTPS access


File Date Author Commit
 buildSrc 2014-03-17 Nathan Jones Nathan Jones [1a148f] Add xxhdpi icon resolution.
 org.juzidian.android 2014-03-23 Nathan Jones Nathan Jones [cf923b] Add build configuration for signing release apk.
 org.juzidian.build.datagen 2013-11-17 Nathan Jones Nathan Jones [f61d0c] Fix datagen build.
 org.juzidian.cedict 2013-10-06 Nathan Jones Nathan Jones [c94998] Merge branch 'jdk-7'
 org.juzidian.cli 2013-11-17 Nathan Jones Nathan Jones [3175d8] Remove unnecessary DictionaryDataStore interface.
 org.juzidian.core 2013-11-17 Nathan Jones Nathan Jones [3175d8] Remove unnecessary DictionaryDataStore interface.
 org.juzidian.dataload 2013-11-17 Nathan Jones Nathan Jones [3175d8] Remove unnecessary DictionaryDataStore interface.
 org.juzidian.pinyin 2013-10-06 Nathan Jones Nathan Jones [c94998] Merge branch 'jdk-7'
 org.juzidian.util 2013-10-06 Nathan Jones Nathan Jones [c94998] Merge branch 'jdk-7'
 website 2014-03-17 Nathan Jones Nathan Jones [20647c] Add project name to website git clone command.
 .gitignore 2013-10-13 Nathan Jones Nathan Jones [267b9d] Use submodules for ormlite dependencies.
 .gitmodules 2013-10-13 Nathan Jones Nathan Jones [267b9d] Use submodules for ormlite dependencies.
 CHANGES 2013-10-22 Nathan Jones Nathan Jones [306392] Add document heading to changelog.
 COPYING 2012-08-19 Nathan Jones Nathan Jones [7c3373] GPL
 README 2014-03-23 Nathan Jones Nathan Jones [cf923b] Add build configuration for signing release apk.
 build.gradle 2013-11-12 Nathan Jones Nathan Jones [8475c4] Convert licenses html creation to freemarker te...
 datagen-settings.gradle 2013-10-16 Nathan Jones Nathan Jones [bb8dfc] Rename "settings-data.gradle" to "datagen-setti...
 default.profile 2013-10-23 Nathan Jones Nathan Jones [2d67ee] Add "publish" task for deploying website via rs...
 dev.profile 2013-10-26 Nathan Jones Nathan Jones [81ae5e] Change local website deployment path.
 gradle.properties 2013-10-16 Nathan Jones Nathan Jones [69cd4a] Fix typo in version name.
 settings.gradle 2013-10-16 Nathan Jones Nathan Jones [c7de99] Extract "dataload" package to separate project.
 website-settings.gradle 2013-10-21 Nathan Jones Nathan Jones [819a2b] Add icon generation to website build.

Read Me

About
=====

Juzidian is a Chinese-English dictionary for Android, targeted at English-
speaking learners of Mandarin Chinese.

Juzidian is free software, licensed under the GPLv3.

See <http://www.juzidian.org/> for more details.


Build Dependencies
==================

 * Java 1.7 JDK
 * Gradle 1.6
 * Android SDK (Platform API 16, Platform-tools 16.0.2, Build Tools 17)
 * Git (rev-parse)
 * WenQuanYi Zen Hei font
 * Maven 3.1


Building
========

 * Initialise submodules for Ormlite fork:

	$ git submodule init;\
	git submodule update
	
 * Install Ormlite fork to local mvn repository:

	$ mvn -f ormlite-core/pom.xml clean install;\
	mvn -f ormlite-jdbc/pom.xml clean install;\
	mvn -f ormlite-android/pom.xml clean install

 * Create a file called 'local.properties' and set the 'sdk.dir' property to the
   location of your Android SDK installation directory, eg:

	$ echo "sdk.dir=$HOME/android-sdk-linux" > local.properties

 * Build Juzidian APK:

	$ gradle assembleDebug


Releasing
=========

To build a signed release APK, define the "ANDROID_KEYSTORE" environment
variable to point to a Java keystore file and run:

	$ gradle assembleRelease

You will be prompted for keystore and key pass phrases.


Installing
==========

Install the built APK on to a connected Android device:

	$ gradle installDebug

or

	$ gradle installRelease


Installing Data
===============

Dictionary data will be downloaded automatically when Juzidian starts up. To
skip this download step the data can be manually built and pushed to the device.
See org.juzidian.build.datagen/README for details about dictionary data
generation and publishing. Once dictionary data has been generated, copy it to a
connected Android device with:

	$ adb push org.juzidian.build.datagen/build/juzidian_dictionary.db \
	/data/data/org.juzidian.android/juzidian-dictionary.db

Note: Data installation requires adb root access on the device.


Build Profiles
==============

Build profiles allow easy switching between different build configurations. Each
build profile is defined in a Gradle script with a .profile extension. To build
using a specific build profile, set the "profile" property via a Gradle "-P"
argument. If no profile is specified then the "default" profile is used.

For example, to build the Juzidian APK using the "dev" profile, use:

	$ gradle -Pprofile=dev build


IDE Setup
=========

To setup Eclipse projects with correct natures and class paths, run

	$ gradle eclipse;\
	gradle -p buildSrc eclipse;\
	gradle -c datagen-settings.gradle eclipse

and then import all projects into Eclipse from the project root directory.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.