Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Android Selector 1.1"

(Building)
 
(45 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{#eclipseproject:technology.higgins|eclipse_custom_style.css}}
 
 
[[Image:Higgins_logo_76Wx100H.jpg|right]]
 
[[Image:Higgins_logo_76Wx100H.jpg|right]]
  
The [[Android Selector 1.1]] allows users to login to websites by auto-filling un/pw fields from their Android mobile device.  
+
== Version ==
 +
This page describes the Android solution being developed for [[Higgins 1.1]].
  
Although we call this solution a selector it does NOT currently support the IMI protocol, only un/pw form filling. The Username/password data is persisted on (non-IMI-compliant) cards on a hosted [[I-Card Service]].  
+
==Introduction==
 +
This is a standalone Android application that can be launched automatically from a relying party website. For more information about Information Cards and Selectors visit http://informationcard.net
 +
<!--The [[Android Selector 1.1]] allows users to login to websites by auto-filling un/pw fields from their Android mobile device.
 +
Although we call this solution a selector it does NOT currently support the IMI protocol, only un/pw form filling. The Username/password data is persisted on (non-IMI-compliant) cards on a hosted [[I-Card Service]].-->
  
=== Version ===
+
== End User Perspective  ==
This page describes the Android solution being developed for [[Higgins 1.1]]
+
 
 +
The Android I-Card Selector allows users to use their I-Cards at relying parties.
 +
 
 +
Download [http://www.sitrusllc.com/files_sitrus/get_android-icardselector-windows.php Android I-Card Selector]
 +
 
 +
This archive contains following files:
 +
 
 +
{| width="70%" border="0" cellpadding="1" cellspacing="1"
 +
|-
 +
| * install_apk.bat
 +
| install file
 +
|-
 +
| * install_plugin.bat
 +
| install file
 +
|-
 +
| * org.eclipse.higgins.android.icard.selector.apk
 +
| Android I-Card Selector
 +
|-
 +
| * org.eclipse.higgins.android.icard.service.apk
 +
| Android I-Card Service
 +
|-
 +
| * pwm.so
 +
| Android I-Card web browser plugin file
 +
|-
 +
| * pwm-android.jar
 +
| Android I-Card web browser plugin file
 +
|-
 +
| * readme.tx
 +
| read me file
 +
|}
 +
 
 +
 
 +
'''This component only works at relying parties that explicitly support it.'''
 +
 
 +
[[Image:AndroidSelectorScreenshot3.png]] [[Image:AndroidSelectorScreenshot4.png]]
 +
 
 +
=== Installation  ===
 +
 
 +
==== Installation on Windows  ====
 +
 
 +
Download and install Android SDK (at now 1.6 version) from http://developer.android.com/sdk/index.html (at now 1.6 version).
 +
 
 +
Set environment variables:
 +
 
 +
*set ANDROID_SDK variable with value of path to Android SDK;
 +
*update PATH variable with you ANDROID_SDK variable (PATH=%PATH%;%ANDROID_SDK%\tools).
 +
 
 +
After that (it is possible, reboot will be needed), connect you device (or run emulator with Android 1.6) to PC.
 +
 
 +
'''Important!''' Next steps should be executed with ''connected'' device or emulator.
 +
 
 +
Unpack archive and go to directory with unpacked files.
 +
 
 +
===== Install apk files  =====
 +
 
 +
Execute "install_apk.bat" or run in command-line:
 +
 
 +
for /r&nbsp;%i in (*.apk) do adb install&nbsp;%i
 +
 
 +
===== Install plugin files  =====
 +
 
 +
Execute "install_plugin.bat" file or run in command-line:
 +
 
 +
set MODULE=pwm
 +
set VERSION=0.1.0.0
 +
 +
set ANDROID_DEVICE_BROWSER_DIR=/data/data/com.android.browser
 +
set ANDROID_DEVICE_INSTALL_DIR=%ANDROID_DEVICE_BROWSER_DIR%/app_plugins
 +
set PLUGIN_NAME=%MODULE%.so
 +
set PLUGIN_RESOURCES_DIR=%ANDROID_DEVICE_INSTALL_DIR%/%MODULE%-%VERSION%
 +
 +
rem filenames for copying
 +
set PWM_ANDROID_JAR="pwm-android.jar"
 +
set PWM_SO="pwm.so"
 +
 +
echo Create directories on the target.
 +
adb shell mkdir&nbsp;%ANDROID_DEVICE_BROWSER_DIR% &gt;/dev/null
 +
adb shell mkdir&nbsp;%ANDROID_DEVICE_INSTALL_DIR% &gt;/dev/null
 +
adb shell mkdir&nbsp;%PLUGIN_RESOURCES_DIR% &gt;/dev/null
 +
 +
echo copy so files
 +
adb push&nbsp;%PWM_SO%&nbsp;%ANDROID_DEVICE_INSTALL_DIR%/%PWM_SO%
 +
adb push&nbsp;%PWM_ANDROID_JAR%&nbsp;%PLUGIN_RESOURCES_DIR%/%PWM_ANDROID_JAR%
 +
 +
echo create cache file
 +
adb shell "&gt;/data/dalvik-cache/data@data@com.android.browser@app_plugins@%MODULE%-%VERSION%@%PWM_ANDROID_JAR%@classes.dex"
 +
 
 +
Restart Android and launch I-Card Selector.
 +
 
 +
=== Configuration  ===
 +
 
 +
The Android I-Card Selector uses the following settings:
 +
 
 +
*[[CardSync Service]] endpoint
 +
*username and password of existing account
 +
 
 +
[[Image:AndroidSelectorScreenshot1.png]] [[Image:AndroidSelectorScreenshot2.png]]
  
== End User Perspective ==
 
<to be written>
 
 
== Deployer Perspective ==
 
== Deployer Perspective ==
  
Line 19: Line 116:
 
* app/org.eclipse.higgins.android.icard.selector
 
* app/org.eclipse.higgins.android.icard.selector
 
* app/org.eclipse.higgins.android.icard.service
 
* app/org.eclipse.higgins.android.icard.service
 +
* app/org.eclipse.higgins.android.icard.service.test
  
 
These projects can be checked out from the Eclipse repository at the following SVN URIs:
 
These projects can be checked out from the Eclipse repository at the following SVN URIs:
Line 27: Line 125:
 
|-
 
|-
 
| https://dev.eclipse.org/svnroot/technology/org.eclipse.higgins/trunk/app/org.eclipse.higgins.android.icard.service
 
| https://dev.eclipse.org/svnroot/technology/org.eclipse.higgins/trunk/app/org.eclipse.higgins.android.icard.service
 +
|-
 +
| https://dev.eclipse.org/svnroot/technology/org.eclipse.higgins/trunk/app/org.eclipse.higgins.android.icard.service.test
 
|-
 
|-
 
|}
 
|}
  
 
In order to build the Android I-Card Selector, you need the following:
 
In order to build the Android I-Card Selector, you need the following:
* The last version of [http://developer.android.com/ Android SDK].
+
* The latest version of [http://developer.android.com/ Android SDK].
* The last version of [http://source.android.com/ Android source code].
+
* The latest version of [http://source.android.com/ Android source code].
 
* The [http://ant.apache.org/ Apache Ant] or Eclipse with [http://developer.android.com/ ADT] (Android Development Tools).
 
* The [http://ant.apache.org/ Apache Ant] or Eclipse with [http://developer.android.com/ ADT] (Android Development Tools).
 
* GNU Make 3.81 (or later) or Eclipse with [http://www.eclipse.org/cdt/ CDT].
 
* GNU Make 3.81 (or later) or Eclipse with [http://www.eclipse.org/cdt/ CDT].
 +
 +
To build all '''in Eclipse''' you need the following steps:
 +
 +
* Check out all these projects from SVN (you can do it with Subversive plug-in).
 +
* Add [http://code.google.com/p/ksoap2-android/ ksoap2-android] library into the classpath of service project.
 +
* Build Selector and Service.
 +
* Set up ANDROID_BUILD_TOP and ANDROID_SDK variables in the properties of NPAPI (Properties -> C/C++ Build -> Environment).
 +
* Build NPAPI (with run Android emulator or device).
  
 
== Developer Perspective==
 
== Developer Perspective==
Line 53: Line 161:
 
<!--===Sequence diagram===
 
<!--===Sequence diagram===
 
[[Image:AndroidPWMSequenceDiagram.png|900x450px]]-->
 
[[Image:AndroidPWMSequenceDiagram.png|900x450px]]-->
 +
 +
[[Category:Higgins Solutions]]

Latest revision as of 15:19, 15 August 2014

Higgins logo 76Wx100H.jpg

Version

This page describes the Android solution being developed for Higgins 1.1.

Introduction

This is a standalone Android application that can be launched automatically from a relying party website. For more information about Information Cards and Selectors visit http://informationcard.net

End User Perspective

The Android I-Card Selector allows users to use their I-Cards at relying parties.

Download Android I-Card Selector

This archive contains following files:

* install_apk.bat install file
* install_plugin.bat install file
* org.eclipse.higgins.android.icard.selector.apk Android I-Card Selector
* org.eclipse.higgins.android.icard.service.apk Android I-Card Service
* pwm.so Android I-Card web browser plugin file
* pwm-android.jar Android I-Card web browser plugin file
* readme.tx read me file


This component only works at relying parties that explicitly support it.

AndroidSelectorScreenshot3.png AndroidSelectorScreenshot4.png

Installation

Installation on Windows

Download and install Android SDK (at now 1.6 version) from http://developer.android.com/sdk/index.html (at now 1.6 version).

Set environment variables:

  • set ANDROID_SDK variable with value of path to Android SDK;
  • update PATH variable with you ANDROID_SDK variable (PATH=%PATH%;%ANDROID_SDK%\tools).

After that (it is possible, reboot will be needed), connect you device (or run emulator with Android 1.6) to PC.

Important! Next steps should be executed with connected device or emulator.

Unpack archive and go to directory with unpacked files.

Install apk files

Execute "install_apk.bat" or run in command-line:

for /r %i in (*.apk) do adb install %i
Install plugin files

Execute "install_plugin.bat" file or run in command-line:

set MODULE=pwm
set VERSION=0.1.0.0

set ANDROID_DEVICE_BROWSER_DIR=/data/data/com.android.browser
set ANDROID_DEVICE_INSTALL_DIR=%ANDROID_DEVICE_BROWSER_DIR%/app_plugins
set PLUGIN_NAME=%MODULE%.so
set PLUGIN_RESOURCES_DIR=%ANDROID_DEVICE_INSTALL_DIR%/%MODULE%-%VERSION%

rem filenames for copying
set PWM_ANDROID_JAR="pwm-android.jar"
set PWM_SO="pwm.so"

echo Create directories on the target.
adb shell mkdir %ANDROID_DEVICE_BROWSER_DIR% >/dev/null
adb shell mkdir %ANDROID_DEVICE_INSTALL_DIR% >/dev/null
adb shell mkdir %PLUGIN_RESOURCES_DIR% >/dev/null

echo copy so files
adb push %PWM_SO% %ANDROID_DEVICE_INSTALL_DIR%/%PWM_SO%
adb push %PWM_ANDROID_JAR% %PLUGIN_RESOURCES_DIR%/%PWM_ANDROID_JAR%

echo create cache file
adb shell ">/data/dalvik-cache/data@data@com.android.browser@app_plugins@%MODULE%-%VERSION%@%PWM_ANDROID_JAR%@classes.dex"

Restart Android and launch I-Card Selector.

Configuration

The Android I-Card Selector uses the following settings:

AndroidSelectorScreenshot1.png AndroidSelectorScreenshot2.png

Deployer Perspective

Building

The projects are:

  • app/org.eclipse.higgins.android.icard.npapi
  • app/org.eclipse.higgins.android.icard.selector
  • app/org.eclipse.higgins.android.icard.service
  • app/org.eclipse.higgins.android.icard.service.test

These projects can be checked out from the Eclipse repository at the following SVN URIs:

https://dev.eclipse.org/svnroot/technology/org.eclipse.higgins/trunk/app/org.eclipse.higgins.android.icard.npapi
https://dev.eclipse.org/svnroot/technology/org.eclipse.higgins/trunk/app/org.eclipse.higgins.android.icard.selector
https://dev.eclipse.org/svnroot/technology/org.eclipse.higgins/trunk/app/org.eclipse.higgins.android.icard.service
https://dev.eclipse.org/svnroot/technology/org.eclipse.higgins/trunk/app/org.eclipse.higgins.android.icard.service.test

In order to build the Android I-Card Selector, you need the following:

To build all in Eclipse you need the following steps:

  • Check out all these projects from SVN (you can do it with Subversive plug-in).
  • Add ksoap2-android library into the classpath of service project.
  • Build Selector and Service.
  • Set up ANDROID_BUILD_TOP and ANDROID_SDK variables in the properties of NPAPI (Properties -> C/C++ Build -> Environment).
  • Build NPAPI (with run Android emulator or device).

Developer Perspective

Architecture

Android selector 1.1.101.png
(Diagram Key)

Components, Packages & Services

Components:

Services:

Back to the top