Project

General

Profile

Actions

Task #2356

closed

Run NFD on unrooted Android phone

Added by Junxiao Shi almost 10 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
jni
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
80.00 h

Description

Run cross-compiled NFD on unrooted Android phone.

This Task is to figure out a way to:

  • install NFD on any stock, unrooted Android phone
  • start NFD as a service on Android
  • allow other apps to connect to NFD over TCP
  • restart NFD when necessary

Files

NFD Service Class Diagram.jpg (20.4 KB) NFD Service Class Diagram.jpg Class Diagram Ivan Yeo, 02/02/2015 07:09 PM
NFD Service Communication.jpg (43.4 KB) NFD Service Communication.jpg Use Case Diagram Ivan Yeo, 02/02/2015 07:09 PM
Sequence Diagram1.jpg (31.7 KB) Sequence Diagram1.jpg Sequence Diagram Ivan Yeo, 02/02/2015 07:09 PM
NFD_Android.vpp (504 KB) NFD_Android.vpp Ivan Yeo, 02/10/2015 05:44 PM

Related issues 2 (0 open2 closed)

Related to NFD-android - Task #1989: Basic NFD control app for AndroidClosedAlex Afanasyev01/27/2015

Actions
Blocked by ndn-embedded - Task #1988: Compile NFD on Android NDKClosedYi Huang

Actions
Actions #1

Updated by Junxiao Shi almost 10 years ago

  • Blocked by Task #1988: Compile NFD on Android NDK added
Actions #2

Updated by Junxiao Shi almost 10 years ago

  • Related to Task #1989: Basic NFD control app for Android added
Actions #3

Updated by Junxiao Shi almost 10 years ago

  • Assignee set to Ivan Yeo
Actions #4

Updated by Ivan Yeo almost 10 years ago

  • % Done changed from 0 to 20

Looked into compilation options required for the NFD. Will next look into the required libraries that are needed for the NFD. The next step is to attempt to import the required native files into the /jni folder of an Android project and use the Android NDK build tools to compile the NFD as a redistributable .so library file.

Actions #5

Updated by Alex Afanasyev almost 10 years ago

  • Project changed from NFD to ndn-embedded
  • Category changed from Build to Android
  • Target version deleted (Unsupported)
Actions #6

Updated by Ivan Yeo almost 10 years ago

  • % Done changed from 20 to 40

NFD and NRD are not able to run on an unrooted Android phone within a Process container. Using the nfdc tool, a route was registered with the following command:

nfdc register /ndn tcp4://131.179.196.46:6363 

Running nfs-status shows that the new RIB entry for the "/ndn" prefix is indeed recognized by the NFD running on localhost.

Following which, the Android NDNPing example application is modified by pointing the Face object's connection to that of the NFD running on the localhost. Running ping, receives a reply which shows that the NFD is working correctly.

Actions #7

Updated by Ivan Yeo almost 10 years ago

Apologies for the typographic error. The first sentence in the earlier post was meant to read:

NFD and NRD are NOW able to run on an unrooted Android phone within a Process container.

Updated by Ivan Yeo almost 10 years ago

Design of Android Service that runs NFD and NRD has been completed. See attached files for reference.

Actions #9

Updated by Alex Afanasyev almost 10 years ago

  • Project changed from ndn-embedded to NFD-android
  • Category changed from Android to jni
Actions #10

Updated by Alex Afanasyev almost 10 years ago

Ivan, please upload also .vpp file. I would like make a few changes.

Actions #11

Updated by Ivan Yeo almost 10 years ago

Alex Afanasyev wrote:

Ivan, please upload also .vpp file. I would like make a few changes.

Sure thing! I'll attach them here.

Actions #12

Updated by Ivan Yeo almost 10 years ago

  • % Done changed from 60 to 80

The following milestones as set out by this task has been achieved by the NFD Team:

  • install NFD on any stock, unrooted Android phone
  • start NFD as a service on Android
  • allow other apps to connect to NFD over TCP

It has been decided that local NDN enabled applications will communicate with the locally running Android NFD through use of TCP only. However, the NFD will continue to interface with the outside world through both TCP and UDP. A detailed presentation on the NFD Service and Application Interaction can be found at:

https://docs.google.com/a/g.ucla.edu/presentation/d/1B9tQIzcGLEhqMmSqYeYYfjaKPyfozW_CPI65ROQ0-n4/edit#slide=id.g629b23bb3_00

Actions #13

Updated by Ivan Yeo almost 10 years ago

  • Status changed from New to In Progress

Change of status to appropriately to: in-progress.

Actions #14

Updated by Ivan Yeo almost 10 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 80 to 100

Task completed and code has been fully reviewed at: http://gerrit.named-data.net/#/c/1749/

Code has been merged to the public repository located at: https://github.com/named-data/NFD-android

Actions #15

Updated by Ivan Yeo almost 10 years ago

  • Status changed from Resolved to Closed

Task has been resolved and closed.

Code has been merged to the public repository located at: https://github.com/named-data/NFD-android

Actions #16

Updated by Alex Afanasyev almost 10 years ago

  • Target version set to 0.1
Actions

Also available in: Atom PDF