This repository contains everything needed to build the card.io library for Android.
What it does not yet contain is much in the way of documentation. 😿 So please feel free to ask any questions by creating github issues -- we'll gradually build our documentation based on the discussions there.
Note that this is actual production code, which has been iterated upon by multiple developers over several years. If you see something that could benefit from being tidied up, rewritten, or otherwise improved, your Pull Requests will be welcome! See CONTRIBUTING.md for details.
If you merely wish to incorporate card.io within your Android app, simply download the latest official release from https://github.com/card-io/card.io-Android-SDK. That repository includes complete integration instructions and sample code.
- Current version of the Android SDK. (obviously)
- Android NDK. We've tested with r10e. At minimum, the Clang toolchain is required.
There are a few bugs in the build process, so these steps are required for the first build:
- clone this repo
$ cd card.io-Android-source
- init its
dmz
submodule:git submodule sync; git submodule update --init --recursive
$ cp local.properties.example local.properties
- Edit
local.properties
with your env (Assuming you've defined$ANDROID_NDK
correctly, run$ echo "$ANDROID_NDK" "$ANDROID_SDK"
$ ./gradlew clean assembleDebug
- See card.io/src/main/jni for native layer (NDK) discussion.
Requires a recording of a capture session.
- Connect an Android 4.0 (or better) device. (You can also use a device back to Gingerbread, but some autotests won't work).
- Load a card recording by running:
$ adb push test-data/recording_320455133.550273.zip /storage/sdcard0/card_recordings/recording_320455133.550273.zip
$ cd card.io-Android-source
$ ./gradlew connectedAndroidTest
That's it! You should see the app open and run through some tests.
$ ./gradlew clean :card.io:assembleRelease
Cleans and builds an aar file for distribution.
The official release process is described separately.
card.io was created by Josh Bleecher Snyder.
Subsequent help has come from Brent Fitzgerald, Tom Whipple, Dave Goldman, Jeff Brateman, Roman Punskyy, Matt Jacunski, Dan Nizri, and Zach Sweigart.
And from you! Pull requests and new issues are welcome. See CONTRIBUTING.md for details.