NSS:Android: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
= NSS Android build = | = NSS Android build = | ||
= Setting up the Cross build environment = | == Setting up the Cross build environment == | ||
== Downloading the NDK == | === Downloading the NDK === | ||
Download and extract the Android NDK. NDK rev 5 has been tested and are known to work. Builders currently use NDKr5c. | Download and extract the Android NDK. NDK rev 5 has been tested and are known to work. Builders currently use NDKr5c. | ||
Line 10: | Line 10: | ||
tar -xjf android-ndk-r5c-linux-x86.tar.bz2 | tar -xjf android-ndk-r5c-linux-x86.tar.bz2 | ||
== Getting the Runtime == | === Getting the Runtime === | ||
If you are on Linux 32 bit, you are done. If you are Linux 64 bit, you may need to get the following packages: | If you are on Linux 32 bit, you are done. If you are Linux 64 bit, you may need to get the following packages: | ||
Line 20: | Line 20: | ||
yum install glibc.i686 zlib.i686 libstdc++.i686 | yum install glibc.i686 zlib.i686 libstdc++.i686 | ||
== Set up your environment == | === Set up your environment === | ||
You must set the environment variable ANDROID_NDK to the path where you extracted the NDK. | You must set the environment variable ANDROID_NDK to the path where you extracted the NDK. | ||
Line 26: | Line 26: | ||
export ANDROID_NDK={path to your ndk} | export ANDROID_NDK={path to your ndk} | ||
= Setting up your Android device = | == Setting up your Android device == | ||
== Getting SSHDroid == | === Getting SSHDroid === | ||
The android test system uses sftp and ssh to talk to our android device In order to use these, you must first install SSHDroid. You can find SSHDroid in Google Play at https://play.google.com/store/apps/details?id=berserker.android.apps.sshdroid&hl=en . You can install it with Google Play. | The android test system uses sftp and ssh to talk to our android device In order to use these, you must first install SSHDroid. You can find SSHDroid in Google Play at https://play.google.com/store/apps/details?id=berserker.android.apps.sshdroid&hl=en . You can install it with Google Play. | ||
Line 43: | Line 43: | ||
Be sure to use the your actual values (not my examples). | Be sure to use the your actual values (not my examples). | ||
== Setting up certificates == | === Setting up certificates === | ||
First you need to follow the instructions [[here]] to set up a pair of SSH keys on your Linux host. If you already have SSH keys set up, then you can skip this step. | First you need to follow the instructions [[here]] to set up a pair of SSH keys on your Linux host. If you already have SSH keys set up, then you can skip this step. | ||
Line 63: | Line 63: | ||
select "OK" | select "OK" | ||
= Building = | == Building == | ||
Get your nss tree as normal. You'll need to get nss, nspr, and dbm. These instructions are for NSS 3.14. The easiest way to get and NSS tree is with cvs: | Get your nss tree as normal. You'll need to get nss, nspr, and dbm. These instructions are for NSS 3.14. The easiest way to get and NSS tree is with cvs: | ||
Line 75: | Line 75: | ||
make arm_android_build_all | make arm_android_build_all | ||
= Running the tests = | == Running the tests == | ||
Once NSS for Android has built, you can run the tests on your android device as follows: | Once NSS for Android has built, you can run the tests on your android device as follows: | ||
Line 81: | Line 81: | ||
make arm_android_install | make arm_android_install | ||
make arm_android_tests | make arm_android_tests | ||
NOTE: The tests do yet pass. |
Revision as of 22:55, 5 July 2012
NSS Android build
Setting up the Cross build environment
Downloading the NDK
Download and extract the Android NDK. NDK rev 5 has been tested and are known to work. Builders currently use NDKr5c.
wget http://dl.google.com/android/ndk/android-ndk-r5c-linux-x86.tar.bz2 tar -xjf android-ndk-r5c-linux-x86.tar.bz2
Getting the Runtime
If you are on Linux 32 bit, you are done. If you are Linux 64 bit, you may need to get the following packages:
glibc.i686 zlib.i686 libstdc++.i686
On Fedora or RHEL you can get this with
yum install glibc.i686 zlib.i686 libstdc++.i686
Set up your environment
You must set the environment variable ANDROID_NDK to the path where you extracted the NDK.
export ANDROID_NDK={path to your ndk}
Setting up your Android device
Getting SSHDroid
The android test system uses sftp and ssh to talk to our android device In order to use these, you must first install SSHDroid. You can find SSHDroid in Google Play at https://play.google.com/store/apps/details?id=berserker.android.apps.sshdroid&hl=en . You can install it with Google Play.
Once it's installed, lauch the app and note the filed marked 'Address'. It will look something like:
sftp://root@10.23.45.123:2222
The 2222 is the port, and root@10.23.45.123 is the address. You will want to set those environment as the environment variables ANDROID_PORT and ANDROID_ADDR on your Linux host:
export ANDROID_PORT=2222 export ANDROID_ADDR=root@10.23.45.123
Be sure to use the your actual values (not my examples).
Setting up certificates
First you need to follow the instructions here to set up a pair of SSH keys on your Linux host. If you already have SSH keys set up, then you can skip this step.
Now you need to install the ssh keys into your SSHDroid. Start your SSHDroid App, then run the following on your Linux host.
cd ~/.ssh sftp -o PORT=$ANDROID_PORT $ANDROID_ADDR put id_rsa.pub /sdcard exit
Now in the SSHDroid App on your Android:
select the menu, select "Manage keys", select menu, select "Import key", select "Browse" scroll down and select id_rsa.pub select "OK"
Building
Get your nss tree as normal. You'll need to get nss, nspr, and dbm. These instructions are for NSS 3.14. The easiest way to get and NSS tree is with cvs:
cvs checkout -d pserver:anonymous@cvs.mozilla.org:/cvsroot mozilla/nsprpub mozilla/dbm mozilla/security/coreconf mozilla/security/nss mozilla/security/dbm
Apply the patch located here.
Use the NSS Makefile to build android:
make arm_android_build_all
Running the tests
Once NSS for Android has built, you can run the tests on your android device as follows:
make arm_android_install make arm_android_tests
NOTE: The tests do yet pass.