Difference between revisions of "Android-sdk"

From fd.io
Jump to: navigation, search
(update paths)
 
(15 intermediate revisions by 3 users not shown)
Line 2: Line 2:
  
 
This is the CCNx Distillery software distribution for Android. It is in charge of pulling together all the necessary modules to build a full CCNx software suite for Android.
 
This is the CCNx Distillery software distribution for Android. It is in charge of pulling together all the necessary modules to build a full CCNx software suite for Android.
 +
 +
== Binaries ==
 +
 +
https://jenkins.fd.io/view/cicn/job/cicn-android-sdk-merge-master-ubuntu1604/
  
 
== Dependencies ==
 
== Dependencies ==
Line 9: Line 13:
 
If Ubuntu:
 
If Ubuntu:
  
<pre>sudo apt-get install automake libconfig9 libtool</pre>
+
<syntaxhighlight lang="bash">
 +
$ sudo apt-get install p7zip-full build-essential automake libconfig9 libtool lib32stdc++6 lib32z1 unzip \
 +
      default-jdk libx11-xcb-dev libfontconfig1 libgl1-mesa-dev cmake
 +
</syntaxhighlight>
 +
 
 
If Max Os X
 
If Max Os X
  
<pre>brew install automake libconf libtool</pre>
+
<syntaxhighlight lang="bash">
 +
$ brew install automake libconfig libtool
 +
</syntaxhighlight>
 +
 
 
== Quick Start ==
 
== Quick Start ==
  
 
Clone this distro
 
Clone this distro
  
<pre>git clone -b android-sdk/master https://gerrit.fd.io/r/cicn android-sdk
+
<syntaxhighlight lang="bash">
cd android-sdk</pre>
+
$ git clone -b android-sdk/master https://gerrit.fd.io/r/cicn android-sdk
 +
$ cd android-sdk
 +
</syntaxhighlight>
 +
 
 
Export Android Sdk path
 
Export Android Sdk path
  
<pre>export SDK_PATH=/Users/angelomantellini/Library/Android/sdk</pre>
+
<syntaxhighlight lang="bash">
 +
$ export SDK_PATH=/Users/angelomantellini/Library/Android/sdk
 +
</syntaxhighlight>
 
Export Android Ndk path
 
Export Android Ndk path
  
<pre>export SDK_PATH=/Users/angelomantellini/Library/Android/sdk/ndk-bundle</pre>
+
<syntaxhighlight lang="bash">
 +
$ export SDK_PATH=/Users/angelomantellini/Library/Android/sdk/ndk-bundle
 +
</syntaxhighlight>
 +
 
 
Export Android Android CMAKE path
 
Export Android Android CMAKE path
  
<pre>export SDK_PATH=/Users/angelomantellini/Library/Android/sdk/cmake/3.6.3155560/bin</pre>
+
<syntaxhighlight lang="bash">
 +
$ export SDK_PATH=/Users/angelomantellini/Library/Android/sdk/cmake/3.6.3155560/bin
 +
</syntaxhighlight>
 +
 
 
If the previous variables are not set, Sdk, Ndk and CMake for android will be downloaded
 
If the previous variables are not set, Sdk, Ndk and CMake for android will be downloaded
  
 
Compile everything (dependencies and CCNx modules)
 
Compile everything (dependencies and CCNx modules)
  
<pre>make all</pre>
+
<syntaxhighlight lang="bash">
 +
$ make all
 +
</syntaxhighlight>
 +
 
 
The CCNx software will be installed in androidSdk/usr
 
The CCNx software will be installed in androidSdk/usr
  
 
To compile Metis for android app (ccnxandroidmetis)
 
To compile Metis for android app (ccnxandroidmetis)
  
<pre>make android_metis</pre>
+
<syntaxhighlight lang="bash">
 +
$ make android_metis
 +
</syntaxhighlight>
 +
 
 
To install the application
 
To install the application
<pre>adb install -r ccnxandroidmetis/app/build/outputs/apk/app-armeabi-v7a-release.apk</pre>
+
 
 +
<syntaxhighlight lang="bash">
 +
$ adb install -r MetisForwarder/app/build/outputs/apk/metis-forwarder-armeabi-v7a-release.apk
 +
</syntaxhighlight>
 +
 
 
To compile IGet for android app (ccnxandroidmetis)
 
To compile IGet for android app (ccnxandroidmetis)
  
<pre>make android_iget</pre>
+
<syntaxhighlight lang="bash">
 +
$ make android_iget
 +
</syntaxhighlight>
 +
 
 
To install the application
 
To install the application
  
<pre>adb install -r iget_android/app/build/outputs/apk/app-armeabi-v7a-release.apk</pre>
+
<syntaxhighlight lang="bash">
 +
$ adb install -r iGetAndroid/app/build/outputs/apk/iget-armeabi-v7a-release.apk
 +
</syntaxhighlight>
 +
 
  
 
== Platforms ==
 
== Platforms ==
Line 57: Line 95:
 
Here's a short summary:
 
Here's a short summary:
  
* <code>make update</code> - git pull the different modules to the head of master&quot;
+
* <code>curl-clean</code> - Clean curl files and libs
* <code>make all</code> - Download sdk, ndk and dependencies, configure, compile and install all software in DISTILLERY_INSTALL_DIR&quot;
+
* <code>boost-clean</code> - Clean boost files and libs
* <code>make init_depend</code> - Download sdk, ndk and dependencies, compile and install all dependencies in DISTILLERY_INSTALL&quot;
+
* <code>openssl-clean</code> - Clean opennssl files and libs
* <code>make install-all</code> - Configure, compile and install all software in DISTILLERY_INSTALL_DIR&quot;
+
* <code>crystax-clean</code> - Clean crystax files and libs
* <code>curl-clean</code> - Clean curl files and libs&quot;
+
* <code>event-clean</code> - Clean libevent files and libs
* <code>boost-clean</code> - Clean boost files and libs&quot;
+
* <code>crystaxndk-clean</code> - Clean crystax ndk files
* <code>openssl-clean</code> - Clean opennssl files and libs&quot;
+
* <code>xml2-clean</code> - Clean libxml2 files and libs
* <code>crystax-clean</code> - Clean crystax files and libs&quot;
+
* <code>dependencies-clean</code> - Clean all dependencies files and libs
* <code>event-clean</code> - Clean libevent files and libs&quot;
+
* <code>sdk-clean</code> - Clean sdk files
* <code>crystaxndk-clean</code> - Clean crystax ndk files&quot;
+
* <code>ndk-clean</code> - Clean ndk files
* <code>xml2-clean</code> - Clean libxml2 files and libs&quot;
+
* <code>cmake-clean</code> - Clean cmake files
* <code>dependencies-clean</code> - Clean all dependencies files and libs&quot;
+
* <code>androidsdk-clean</code> - Clean sdk, ndk and cmake files
* <code>sdk-clean</code> - Clean sdk files&quot;
+
* <code>cframework-clean</code> - Clean cframework (libparc and longbow) files and libs
* <code>ndk-clean</code> - Clean ndk files&quot;
+
* <code>ccnxlibs-clean</code> - Clean ccnxlibs files and libs
* <code>cmake-clean</code> - Clean cmake files&quot;
+
* <code>sb-forwarder-clean</code> - Clean sb-forwarder (metis) files and libs
* <code>androidsdk-clean</code> - Clean sdk, ndk and cmake files&quot;
+
* <code>libicnet-clean</code> - Clean libicnet files and libs
* <code>cframework-clean</code> - Clean cframework (libparc and longbow) files and libs&quot;
+
* <code>libdash-clean</code> - Clean libdash files and libs
* <code>ccnxlibs-clean</code> - Clean ccnxlibs files and libs&quot;
+
* <code>qt-clean</code> - Clean qt environment files and libs
* <code>sb-forwarder-clean</code> - Clean sb-forwarder (metis) files and libs&quot;
+
* <code>all-clean</code> - Clean all files and libs
* <code>libicnet-clean</code> - Clean libicnet files and libs&quot;
+
* <code>android_metis</code> - Build metis apk for android
* <code>libdash-clean</code> - Clean libdash files and libs&quot;
+
* <code>android_metis_debug</code> - Build metis apk for android in debug mode
* <code>all-clean</code> - Clean all files and libs&quot;
+
* <code>android_iget</code> - Build iGet apk for android
* <code>android_metis</code> - Build metis apk for android&quot;
+
* <code>android_iget_debug</code> - Build iGet apk for android in debug mode
* <code>android_metis_debug</code> - Build metis apk for android in debug mode&quot;
+
* <code>android_viper</code> - Build Viper apk for android
* <code>android_iget</code> - Build iGet apk for android apk in debug mode&quot;
+
* <code>android_iget_debug</code> - Build Viper apk for android in debug mode
* <code>android_iget_debug</code> - Build iGet apk for android apk&quot;
+
  
 
== Configuration ==
 
== Configuration ==
  
 
Distillery can be configured in multiple ways. Please check the config directory (specifically <code>config/config.mk</code>) for more information.
 
Distillery can be configured in multiple ways. Please check the config directory (specifically <code>config/config.mk</code>) for more information.
 +
 +
==Pre built packages==
 +
*[https://jenkins.fd.io/view/cicn/job/cicn-android-sdk-merge-master-ubuntu1604/lastSuccessfulBuild/artifact/MetisForwarder/app/build/outputs/apk/metis-forwarder-armeabi-v7a-release.apk Metis]
 +
*[https://jenkins.fd.io/view/cicn/job/cicn-android-sdk-merge-master-ubuntu1604/lastSuccessfulBuild/artifact/iGetAndroid/app/build/outputs/apk/iget-armeabi-v7a-release.apk iGet]
 +
*[https://jenkins.fd.io/view/cicn/job/cicn-android-sdk-merge-master-ubuntu1604/lastSuccessfulBuild/artifact/build/viper/viper-armv7/build/outputs/apk/viper-armv7-release-signed.apk Viper]

Latest revision as of 23:08, 21 November 2017

Android SDK

This is the CCNx Distillery software distribution for Android. It is in charge of pulling together all the necessary modules to build a full CCNx software suite for Android.

Binaries

https://jenkins.fd.io/view/cicn/job/cicn-android-sdk-merge-master-ubuntu1604/

Dependencies

Install tools to build libcurl

If Ubuntu:

$ sudo apt-get install p7zip-full build-essential automake libconfig9 libtool lib32stdc++6 lib32z1 unzip \
      default-jdk libx11-xcb-dev libfontconfig1 libgl1-mesa-dev cmake

If Max Os X

$ brew install automake libconfig libtool

Quick Start

Clone this distro

$ git clone -b android-sdk/master https://gerrit.fd.io/r/cicn android-sdk
$ cd android-sdk

Export Android Sdk path

$ export SDK_PATH=/Users/angelomantellini/Library/Android/sdk

Export Android Ndk path

$ export SDK_PATH=/Users/angelomantellini/Library/Android/sdk/ndk-bundle

Export Android Android CMAKE path

$ export SDK_PATH=/Users/angelomantellini/Library/Android/sdk/cmake/3.6.3155560/bin

If the previous variables are not set, Sdk, Ndk and CMake for android will be downloaded

Compile everything (dependencies and CCNx modules)

$ make all

The CCNx software will be installed in androidSdk/usr

To compile Metis for android app (ccnxandroidmetis)

$ make android_metis

To install the application

$ adb install -r MetisForwarder/app/build/outputs/apk/metis-forwarder-armeabi-v7a-release.apk

To compile IGet for android app (ccnxandroidmetis)

$ make android_iget

To install the application

$ adb install -r iGetAndroid/app/build/outputs/apk/iget-armeabi-v7a-release.apk


Platforms

  • Android

Getting Started

To get simple help run make. This will give you a list of possible targets to execute. You will basically want to download all the sources and compile.

Here's a short summary:

  • curl-clean - Clean curl files and libs
  • boost-clean - Clean boost files and libs
  • openssl-clean - Clean opennssl files and libs
  • crystax-clean - Clean crystax files and libs
  • event-clean - Clean libevent files and libs
  • crystaxndk-clean - Clean crystax ndk files
  • xml2-clean - Clean libxml2 files and libs
  • dependencies-clean - Clean all dependencies files and libs
  • sdk-clean - Clean sdk files
  • ndk-clean - Clean ndk files
  • cmake-clean - Clean cmake files
  • androidsdk-clean - Clean sdk, ndk and cmake files
  • cframework-clean - Clean cframework (libparc and longbow) files and libs
  • ccnxlibs-clean - Clean ccnxlibs files and libs
  • sb-forwarder-clean - Clean sb-forwarder (metis) files and libs
  • libicnet-clean - Clean libicnet files and libs
  • libdash-clean - Clean libdash files and libs
  • qt-clean - Clean qt environment files and libs
  • all-clean - Clean all files and libs
  • android_metis - Build metis apk for android
  • android_metis_debug - Build metis apk for android in debug mode
  • android_iget - Build iGet apk for android
  • android_iget_debug - Build iGet apk for android in debug mode
  • android_viper - Build Viper apk for android
  • android_iget_debug - Build Viper apk for android in debug mode

Configuration

Distillery can be configured in multiple ways. Please check the config directory (specifically config/config.mk) for more information.

Pre built packages