Automatic Build for PocketSpinx Android App
Tools
-
Docker
https://www.docker.com/ on windows use boot2docker:
http://boot2docker.io/ or follow: http://docs.docker.com/installation/windows/ -
repo for scripts pocketsphinx-android-build-env
- Dockerfile
- requirements.txt
Prepare Environment
- checkout git of building environment pocketsphinx-android-build-env
git clone github.com/cyrta/pocketsphinx-android-build-env
- use docker image You can prepare your own image or use already available
- official docker hub image with Android SDK&NDK (~2.7GB): https://registry.hub.docker.com/u/dockerbase/android/
- mostly used: https://index.docker.io/u/wasabeef/android
In order to build pocketsphinx we need following dependencies: install dependencies / requirements / packages: - builds tools: apt-get install -y build-essential make gcc - git: apt-get install -y git - java JDK >= 1.6: - apache ant: apt-get install -y ant - SWIG >= 2.0 - android sdk - android ndk
Here, we use already available, prepared and maintained (check by yourself what is the version Android SDK and NDK) Run in commandline to get workplace ready:
docker pull dockerbase/android
docker run -it --rm --name dockerbase-android dockerbase/android
Build
- checkout of official repos for pocketsphinx
- https://github.com/cmusphinx/sphinxbase
- https://github.com/cmusphinx/pocketsphinx
- https://github.com/cmusphinx/pocketsphinx-android
- run build
make build
- run test
make test
- run delivery
make package
- email or put to s3 results
make deliver
Bibliography
-
Android Project PocketSphinx implementation - Video https://www.youtube.com/watch?v=vfaNLIowSyk
-
Appium Server setup for automated android testing using real devices
-
android-cross-compile is an environment to build binaries for the android platform
To compile an x86 binary: ARCH_NAME=x86 agcc -o test-x86 test.c ARCH_NAME=x86 agcc -pie -fPIE -o test-x86-pie test.c
To compile an arm binary: ARCH_NAME=arm agcc -o test-arm test.c ARCH_NAME=arm agcc -pie -fPIE -o test-arm-pie test.c
http://robwin.blogspot.de/2014/05/my-lessons-learned-using-vagrant_9.html