# nuxeo-android
**Repository Path**: mamis/nuxeo-android
## Basic Information
- **Project Name**: nuxeo-android
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-08-20
- **Last Updated**: 2024-08-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Nuxeo Android projects
This repository is deprecated, thus its documentation has been removed from the [documentation](https://doc.nuxeo.com), yet you can still access it in the git history: https://github.com/nuxeo/doc.nuxeo.com-content/commit/469d7e40183b71dce800362733a6af53e5ce7107
## Initialize Maven repository with Android artifacts (with Maven 3)
git clone https://github.com/mosabua/maven-android-sdk-deployer.git
mvn install -P4.1
## How to build
export ANDROID_HOME=/path/to/your/AndroidSDK/containing/platforms/
Using maven 2.2.1 or later, from root folder:
$ mvn clean install
This will build the sub-modules `nuxeo-automation-thin-client`, `nuxeo-android`, `nuxeo-android-connector`, `nuxeo-automation-sample` and `nuxeo-automation-sample-test`
The produced APKs will be in `nuxeo-android/target/`, `nuxeo-automation-sample/target` and `nuxeo-automation-sample-test/target`
You can work from Eclipse, using Android Development Tools (ADT) but **do not use maven-eclipse-plugin** which badly defines:
* JRE instead of Android SDK
* `target/generated-sources/` instead of `src/`
Copy `.project.ok` to `.project` and `.classpath.ok` to `.classpath`, then import the projects into Eclipse.
You can still use maven-eclipse-plugin for the `nuxeo-automation-thin-client` and `nuxeo-android-connector` modules.
$ mvn eclipse:eclipse -pl nuxeo-automation-thin-client,nuxeo-android-connector
The Maven build uses [maven-android-plugin](http://code.google.com/p/maven-android-plugin/).
Here's an overview of its main targets:
* `android:deploy`
Deploys the built apk file, or another specified apk, to a connected device.
Automatically performed when running `mvn integration-test` (or `mvn install`) on a project with instrumentation tests.
* `android:deploy-dependencies`
Deploys all directly declared dependencies of `apk` in this project's pom.
Usually used in a project with instrumentation tests, to deploy the apk to test onto the device before running the deploying and running the instrumentation tests apk.
Automatically performed when running mvn integration-test (or mvn install) on a project with instrumentation tests.
* `android:dex`
Converts compiled Java classes to the Android dex format.
* `android:emulator-start`
EmulatorStartMojo can start the Android Emulator with a specified Android Virtual Device (avd).
* `android:emulator-stop`
EmulatorStartMojo can stop the Android Emulator with a specified Android Virtual Device (avd).
* `android:zipalign`
ZipalignMojo can run the zipalign command against the apk.
## Modules description
* Nuxeo Automation Thin Client (`nuxeo-automation-thin-client`)
It is a fork from [nuxeo-automation-client](http://hg.nuxeo.org/nuxeo/nuxeo-features/file/5.4/nuxeo-automation/nuxeo-automation-client/)
making it usable with Google Android SDK 2.2 and reducing its dependencies.
This module only manage ReadOnly access to nuxeo and is deprecated: use nuxeo-android-connector.
* Nuxeo Android simple client (`nuxeo-android`)
The Nuxeo Android application based on Nuxeo Automation Thin Client and Droid4Me library.
This module is deprecated since it relies on the deprecated automation-client.
* Nuxeo Android connector (`nuxeo-android-connector`)
New connector for using Nuxeo Platform services from Android. It's an alternative library of nuxeo-automation-thin-client that provide more infrastructure and support for Read/Write operation as well as off-line management.
**Important note:** since Nuxeo 7.4 the [batch upload API](https://doc.nuxeo.com/x/OYLZ) has changed to be exposed as a REST resource endpoint.
The old API using `/site/automation/batch/upload` is deprecated but kept for backward compatibility.
**Yet since 7.10, for security reasons, this old API does not allow to use a client-side generated batch id passed as a request header**, see [NXP-18030](https://jira.nuxeo.com/browse/NXP-18030) for details.
**Therefore it is strongly recommended to upgrade to the new batch upload API by adapting the related classes.** This probably just impacts [BlobWidgetWrapper.java](https://github.com/nuxeo/nuxeo-android/blob/master/nuxeo-android-connector/src/main/java/org/nuxeo/android/layout/widgets/BlobWidgetWrapper.java).
If this is not possible for any reason and you absolutely need to keep using the old API you have two options:
- Not passing the `X-Batch-Id` header, the batch id will then be automatically generated server-side.
- Setting the `allowClientGeneratedBatchId` configuration property to `true` on the Nuxeo instance (not recommended).
* Nuxeo Automation sample (`nuxeo-automation-sample`)
Sample use of the `org.nuxeo.android:nuxeo-android-connector` library.
* Nuxeo Automation sample test (`nuxeo-automation-sample-test`)
Test application for Nuxeo Automation sample.
### Nuxeo Android Simple Client
This Android application aims to show application abilities to work with a Nuxeo server using [Nuxeo Automation REST API](http://doc.nuxeo.com/display/NXDOC/Content+Automation).
It is based on [droid4me framework](http://code.google.com/p/droid4me/) provided by [Smart&Soft](www.smartnsoft.com).
WARNING: This code is in beta state (it was the result of two days sprint at Nuxeo).
It's a proof of concept and need some work to provide more useful features.
### Nuxeo Automation sample
Sample use of `org.nuxeo.android:nuxeo-android-connector` library.
## About Nuxeo
Nuxeo provides a modular, extensible Java-based [open source software platform for enterprise content management] [1] and packaged applications for [document management] [2], [digital asset management] [3] and [case management] [4]. Designed by developers for developers, the Nuxeo platform offers a modern architecture, a powerful plug-in model and extensive packaging capabilities for building content applications.
[1]: http://www.nuxeo.com/en/products/ep
[2]: http://www.nuxeo.com/en/products/document-management
[3]: http://www.nuxeo.com/en/products/dam
[4]: http://www.nuxeo.com/en/products/case-management
More information on: