mirror of
https://github.com/eclipse/upm.git
synced 2025-03-15 04:57:30 +03:00
docs: improve android things docs
* Add documentation on how to build android packages * Check env vars before running build-android.sh * Add doc strings to build-android.sh Signed-off-by: Nicolas Oliver <dario.n.oliver@intel.com>
This commit is contained in:
parent
91876d48ed
commit
40084ea651
@ -132,6 +132,34 @@ autotools on linux.
|
|||||||
pkg-config --cflags --libs upm-i2clcd
|
pkg-config --cflags --libs upm-i2clcd
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
|
## Building for Android Things
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
* [io.mraa.at](https://search.maven.org/#artifactdetails%7Cio.mraa.at%7Cmraa%7C1.8.0%7Caar)
|
||||||
|
* [io.mraa.at.upm](https://search.maven.org/#artifactdetails%7Cio.mraa.at.upm%7Cupm_zfm20%7C1.3.0%7Caar)
|
||||||
|
* [Android NDK](https://developer.android.com/ndk/downloads/index.html) >= 14b
|
||||||
|
|
||||||
|
### Android NDK r14b
|
||||||
|
|
||||||
|
~~~~~~~~~~~~~{.sh}
|
||||||
|
NDK_HOME="/path/to/android-ndk-r14b"
|
||||||
|
MRAA_INSTALL_DIR="/path/to/mraa/install"
|
||||||
|
|
||||||
|
cmake -DBUILDSWIG=ON \
|
||||||
|
-DBUILDSWIGPYTHON=OFF \
|
||||||
|
-DBUILDSWIGNODE=OFF \
|
||||||
|
-DBUILDSWIGJAVA=ON \
|
||||||
|
-DANDROID_COMPILER_FLAGS_CXX='-std=c++11' \
|
||||||
|
-DANDROID_PIE=1 \
|
||||||
|
-DANDROID_PLATFORM=android-24 \
|
||||||
|
-DANDROID_STL_FORCE_FEATURES=ON \
|
||||||
|
-DANDROID_STL=c++_shared \
|
||||||
|
-DANDROID_TOOLCHAIN_NAME=x86-i686 \
|
||||||
|
-DCMAKE_TOOLCHAIN_FILE=$NDK_HOME/build/cmake/android.toolchain.cmake \
|
||||||
|
-DCMAKE_FIND_ROOT_PATH=$MRAA_INSTALL_DIR \
|
||||||
|
..
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
## Building with Docker
|
## Building with Docker
|
||||||
|
|
||||||
You can use `docker` and `docker-compose` to generate a complete build environment
|
You can use `docker` and `docker-compose` to generate a complete build environment
|
||||||
|
@ -1,8 +1,45 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# The script is used to build .aar packages for Upm modules.
|
||||||
|
#
|
||||||
|
# Author: Nicolas Oliver <dario.n.oliver@intel.com>
|
||||||
|
#
|
||||||
|
# All environment variables used are passed from docker-compose.
|
||||||
|
# Those environment variables can also be declared in the host,
|
||||||
|
# and this script can be used to build .aar packages without using
|
||||||
|
# docker-compose.
|
||||||
|
#
|
||||||
|
# Environment variables:
|
||||||
|
# - NDK_HOME - Path to Android NDK install folder. i.e. /opt/android-ndk-r14b/
|
||||||
|
# - MRAA_INSTALL_DIR - Path to Mraa library install folder. i.e /opt/mraa/install/
|
||||||
|
# - JAVA_HOME - Path to Java install folder. i.e. /usr/lib/jvm/java-8-openjdk-amd64/
|
||||||
|
#
|
||||||
|
# IMPORTANT: MRAA_INSTALL_DIR must contain an mraa version built for Android Things.
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
export PKG_CONFIG_LIBDIR="$NDK_HOME/platforms/android-24/arch-x86/usr/lib:$MRAA_INSTALL_DIR/lib/pkgconfig/"
|
# Check required environment variables and exit if they are not set
|
||||||
|
function check_environment {
|
||||||
|
VAR_NAME=$1
|
||||||
|
VAR_VALUE=$2
|
||||||
|
# Check required parameters
|
||||||
|
VAR_NAME=${VAR_NAME:?value not provided}
|
||||||
|
# Chek if variable is set
|
||||||
|
if [ -z "${VAR_VALUE}" ]; then
|
||||||
|
echo "Required environment variable ${VAR_NAME} is not defined. Exiting..."
|
||||||
|
exit 1;
|
||||||
|
else
|
||||||
|
echo "Required environment variable ${VAR_NAME} is set."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check for required environment variables
|
||||||
|
check_environment "NDK_HOME" ${NDK_HOME}
|
||||||
|
check_environment "MRAA_INSTALL_DIR" ${MRAA_INSTALL_DIR}
|
||||||
|
check_environment "JAVA_HOME" ${JAVA_HOME}
|
||||||
|
|
||||||
|
PKG_CONFIG_LIBDIR="$NDK_HOME/platforms/android-24/arch-x86/usr/lib"
|
||||||
|
PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR":$MRAA_INSTALL_DIR/lib/pkgconfig/"
|
||||||
|
export PKG_CONFIG_LIBDIR
|
||||||
|
|
||||||
cmake \
|
cmake \
|
||||||
-DANDROID_COMPILER_FLAGS_CXX='-std=c++11' \
|
-DANDROID_COMPILER_FLAGS_CXX='-std=c++11' \
|
||||||
@ -30,8 +67,7 @@ make -j8 -Cbuild
|
|||||||
|
|
||||||
# Anotate the .java src from doxygen
|
# Anotate the .java src from doxygen
|
||||||
find src/ -name "javaupm_*.i" > build/upm.i.list
|
find src/ -name "javaupm_*.i" > build/upm.i.list
|
||||||
# TODO: install doxy port tool
|
#../doxy/doxyport build/upm.i.list \
|
||||||
#doxyport build/upm.i.list \
|
|
||||||
# -s src/interfaces/,src/bacnetmstp,src/bmg160,src/bma250e,src/bmm150 \
|
# -s src/interfaces/,src/bacnetmstp,src/bmg160,src/bma250e,src/bmm150 \
|
||||||
# -m doxy/samples.mapping.txt \
|
# -m doxy/samples.mapping.txt \
|
||||||
# -d build/src/ \
|
# -d build/src/ \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user