Fix some of the lint warnigns

Change-Id: I437e41c646b4edd81ef9ba05a303bdfc232d0f94
9 files changed
tree: 6fda729415f95243155df82ed53ce7fd4f9dde8f
  1. .jenkins.d/
  2. .vagrant/
  3. app/
  4. gradle/
  5. .gitignore
  6. .gitmodules
  7. .jenkins
  8. .travis.yml
  9. AUTHORS.md
  10. build.gradle
  11. COPYING.md
  12. gradlew
  13. gradlew.bat
  14. README-dev.md
  15. README.md
  16. RELEASE_NOTES.rst
  17. settings.gradle
README.md

NFD on Android

Build Status

Prerequisites

To compile code, the following is necessary

Example script for Ubuntu 16.04 to get all dependencies, download SDK and NDK:

sudo apt -q update
sudo apt -qy upgrade
sudo apt-get install -y build-essential git openjdk-8-jdk unzip ruby ruby-rugged
sudo apt-get install -y lib32stdc++6 lib32z1 lib32z1-dev

mkdir android-sdk-linux
cd android-sdk-linux
wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
unzip sdk-tools-linux-3859397.zip
rm sdk-tools-linux-3859397.zip

export ANDROID_HOME=`pwd`
export PATH=${PATH}:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools

echo "y" | sdkmanager "platform-tools"
sdkmanager "platforms;android-26" "build-tools;26.0.3" "ndk-bundle"

cd ndk-bundle
git clone https://github.com/cawka/android-crew-staging.git crew.dir

CREW_OWNER=cawka crew.dir/crew install target/sqlite:3.18.0 target/openssl:1.0.2m target/boost:1.65.1

cd ..

The above crew scripts will install pre-compiled versions of sqlite, openssl, and boost libraries. To compile them instead, replace install with build.

Building

git clone --recursive http://gerrit.named-data.net/NFD-android
echo sdk.dir=`pwd`/android-sdk-linux > NFD-android/local.properties
echo ndk.dir=`pwd`/android-sdk-linux/ndk-bundle >> NFD-android/local.properties
cd NFD-android

./gradlew assembleRelease

Note that you can limit architectures being built using NDK_BUILD_ABI variable. For example,

export NDK_BUILD_ABI=armeabi-v7a,x86_64

will limit build to armeabi-v7a and x86_64.

By default, the build script will try to parallelize build to the number of CPUs. This can be overridden using NDK_BUILD_PARALLEL variable.

Setting up environment using Vagrant

The development setup can be set up with Vagrant and scripts provided in .vagrant/ folder. After vagrant command-line is installed, the following will create VM environment and fetch all necessary dependencies:

cd .vagrant
vagrant up
vagrant ssh

Refer to vagrant documentation for more information.