-
Notifications
You must be signed in to change notification settings - Fork 17
Androlog developer
This pages describes how to contribute to androlog
Androlog is hosted on github. To get the source code, just launch:
git clone git://github.com/akquinet/androlog
The build process is based on Maven and the maven-android-plugin (for the integration-tests).
Once downloaded, you should have:
pom.xml
androlog\
src
pom.xml
androlog-it\
src
res
AndroidManifest.xml
pom.xml
The first pom is the parent pom of the project. The androlog project contains Androlog it-self. It builds a jar file. Androlog-it contains integration-tests. Those tests are executed on an Android framework (emulator or real handset). To get further information about Android integration tests pleanse read this page.
Before building Android from the parent pom, you need to:
- define the sdk.path property pointing on the Android SDK location. The recommended way it to edit the ~/.m2/settings.xml and to add:
<profiles> <profile> <id>android</id> <properties> <sdk.path>/Users/clement/dev/android</sdk.path> <!-- CHANGE HERE --> </properties> </profile> <!-- others profiles --> </profiles> <activeProfiles> <activeProfile>android</activeProfile> </activeProfiles>
- start an android emulator or plug your android development device. Tests will be executed on this emulator/device. Androlog supports Android 1.6 to 2.2+. The device must have a readable and writable SDCard.
$ emulator -avd an_existing_avd
Once everything configured, you can build androlog, from the root folder (parent pom directory), with
$ mvn clean install
[INFO] Scanning for projects...
[INFO] Reactor build order:
[INFO] Androlog Project
[INFO] androlog-core
[INFO] androlog-it
[INFO] ------------------------------------------------------------------------
[INFO] Building Androlog Project
[INFO] task-segment: [clean, install]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting directory /Users/clement/Projects/androlog/target
[INFO] [enforcer:enforce {execution: enforce-maven}]
[INFO] [site:attach-descriptor {execution: default-attach-descriptor}]
[INFO] Preparing source:jar
[WARNING] Removing: jar from forked lifecycle, to prevent recursive invocation.
[INFO] [enforcer:enforce {execution: enforce-maven}]
[INFO] [source:jar {execution: attach-sources}]
[INFO] [javadoc:jar {execution: attach-javadocs}]
[INFO] Not executing Javadoc as the project is not a Java classpath-capable package
[INFO] [install:install {execution: default-install}]
[INFO] Installing /Users/clement/Projects/androlog/pom.xml to /Users/clement/.m2/repository/de/akquinet/android/androlog/androlog-project/1.0.1-SNAPSHOT/androlog-project-1.0.1-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] Building androlog-core
[INFO] task-segment: [clean, install]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting directory /Users/clement/Projects/androlog/androlog/target
[INFO] [enforcer:enforce {execution: enforce-maven}]
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/clement/Projects/androlog/androlog/src/main/resources
[INFO] Copying 2 resources to META-INF
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 1 source file to /Users/clement/Projects/androlog/androlog/target/classes
[INFO] [resources:testResources {execution: default-testResources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 5 resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] Compiling 1 source file to /Users/clement/Projects/androlog/androlog/target/test-classes
[INFO] [surefire:test {execution: default-test}]
[INFO] Surefire report directory: /Users/clement/Projects/androlog/androlog/target/surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running de.akquinet.android.androlog.LogTest
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.069 sec
Results :
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0
[INFO] [jar:jar {execution: default-jar}]
[INFO] Building jar: /Users/clement/Projects/androlog/androlog/target/androlog-1.0.1-SNAPSHOT.jar
[INFO] Preparing source:jar
[WARNING] Removing: jar from forked lifecycle, to prevent recursive invocation.
[INFO] [enforcer:enforce {execution: enforce-maven}]
[INFO] [source:jar {execution: attach-sources}]
[INFO] Building jar: /Users/clement/Projects/androlog/androlog/target/androlog-1.0.1-SNAPSHOT-sources.jar
[INFO] [javadoc:jar {execution: attach-javadocs}]
...
[INFO] Building jar: /Users/clement/Projects/androlog/androlog/target/androlog-1.0.1-SNAPSHOT-javadoc.jar
[INFO] [install:install {execution: default-install}]
[INFO] Installing /Users/clement/Projects/androlog/androlog/target/androlog-1.0.1-SNAPSHOT.jar to /Users/clement/.m2/repository/de/akquinet/android/androlog/androlog/1.0.1-SNAPSHOT/androlog-1.0.1-SNAPSHOT.jar
[INFO] Installing /Users/clement/Projects/androlog/androlog/target/androlog-1.0.1-SNAPSHOT-sources.jar to /Users/clement/.m2/repository/de/akquinet/android/androlog/androlog/1.0.1-SNAPSHOT/androlog-1.0.1-SNAPSHOT-sources.jar
[INFO] Installing /Users/clement/Projects/androlog/androlog/target/androlog-1.0.1-SNAPSHOT-javadoc.jar to /Users/clement/.m2/repository/de/akquinet/android/androlog/androlog/1.0.1-SNAPSHOT/androlog-1.0.1-SNAPSHOT-javadoc.jar
[INFO] ------------------------------------------------------------------------
[INFO] Building androlog-it
[INFO] task-segment: [clean, install]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting directory /Users/clement/Projects/androlog/androlog-it/target
[INFO] [enforcer:enforce {execution: enforce-maven}]
[INFO] [dependency:copy-dependencies {execution: copy-dependencies}]
[INFO] Copying androlog-1.0.1-SNAPSHOT.jar to /Users/clement/Projects/androlog/androlog-it/target/dependencies/androlog-1.0.1-SNAPSHOT.jar
[INFO] [android:generate-sources {execution: default-generate-sources}]
[INFO] ANDROID-904-002: Found aidl files: Count = 0
[INFO] ANDROID-904-002: Found aidl files: Count = 0
[INFO] Copying local resource files to combined resource directory.
[INFO] /Users/clement/dev/android/platforms/android-4/tools/aapt [package, -m, -J, /Users/clement/Projects/androlog/androlog-it/target/generated-sources/r, -M, /Users/clement/Projects/androlog/androlog-it/AndroidManifest.xml, -S, /Users/clement/Projects/androlog/androlog-it/target/generated-sources/combined-resources/res, -I, /Users/clement/dev/android/platforms/android-4/android.jar]
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/clement/Projects/androlog/androlog-it/src/main/resources
[INFO] Copying 2 resources to META-INF
[INFO] skip non existing resourceDirectory /Users/clement/Projects/androlog/androlog-it/target/generated-sources/extracted-dependencies/src/main/resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 4 source files to /Users/clement/Projects/androlog/androlog-it/target/classes
[INFO] [jar:jar {execution: default-jar}]
[INFO] Building jar: /Users/clement/Projects/androlog/androlog-it/target/androlog-it-1.0.1-SNAPSHOT.jar
[INFO] [android:dex {execution: default-dex}]
[INFO] /Users/clement/dev/android/platforms/android-4/tools/dx [--dex, --output=/Users/clement/Projects/androlog/androlog-it/target/classes.dex, /Users/clement/Projects/androlog/androlog-it/target/android-classes]
[INFO] [resources:testResources {execution: default-testResources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/clement/Projects/androlog/androlog-it/src/test/resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] No sources to compile
[INFO] [surefire:test {execution: default-test}]
[INFO] No tests to run.
[INFO] [android:apk {execution: default-apk}]
[INFO] Copying local resource files to combined resource directory.
[INFO] /Users/clement/dev/android/platforms/android-4/tools/aapt [package, -f, -M, /Users/clement/Projects/androlog/androlog-it/AndroidManifest.xml, -S, /Users/clement/Projects/androlog/androlog-it/target/generated-sources/combined-resources/res, -I, /Users/clement/dev/android/platforms/android-4/android.jar, -F, /Users/clement/Projects/androlog/androlog-it/target/androlog-it-1.0.1-SNAPSHOT.ap_]
[INFO] /Users/clement/dev/android/tools/apkbuilder [/Users/clement/Projects/androlog/androlog-it/target/androlog-it-1.0.1-SNAPSHOT.apk, -z, /Users/clement/Projects/androlog/androlog-it/target/androlog-it-1.0.1-SNAPSHOT.ap_, -f, /Users/clement/Projects/androlog/androlog-it/target/classes.dex, -rf, /Users/clement/Projects/androlog/androlog-it/target/classes, -rj, /Users/clement/Projects/androlog/androlog/target/androlog-1.0.1-SNAPSHOT.jar, -rj, /Users/clement/.m2/repository/junit/junit/4.8.1/junit-4.8.1.jar]
[INFO] Preparing source:jar
[WARNING] Removing: jar from forked lifecycle, to prevent recursive invocation.
[INFO] [enforcer:enforce {execution: enforce-maven}]
[INFO] [dependency:copy-dependencies {execution: copy-dependencies}]
[INFO] Copying androlog-1.0.1-SNAPSHOT.jar to /Users/clement/Projects/androlog/androlog-it/target/dependencies/androlog-1.0.1-SNAPSHOT.jar
[INFO] [android:generate-sources {execution: default-generate-sources}]
[INFO] ANDROID-904-002: Found aidl files: Count = 0
[INFO] ANDROID-904-002: Found aidl files: Count = 0
[INFO] Copying local resource files to combined resource directory.
[INFO] /Users/clement/dev/android/platforms/android-4/tools/aapt [package, -m, -J, /Users/clement/Projects/androlog/androlog-it/target/generated-sources/r, -M, /Users/clement/Projects/androlog/androlog-it/AndroidManifest.xml, -S, /Users/clement/Projects/androlog/androlog-it/target/generated-sources/combined-resources/res, -I, /Users/clement/dev/android/platforms/android-4/android.jar]
[INFO] [source:jar {execution: attach-sources}]
[INFO] Building jar: /Users/clement/Projects/androlog/androlog-it/target/androlog-it-1.0.1-SNAPSHOT-sources.jar
[INFO] [javadoc:jar {execution: attach-javadocs}]
...
[INFO] Building jar: /Users/clement/Projects/androlog/androlog-it/target/androlog-it-1.0.1-SNAPSHOT-javadoc.jar
[INFO] [android:internal-pre-integration-test {execution: default-internal-pre-integration-test}]
[INFO] /Users/clement/dev/android/tools/adb [install, -r, /Users/clement/Projects/androlog/androlog-it/target/androlog-it-1.0.1-SNAPSHOT.apk]
[ERROR] 1223 KB/s (96111 bytes in 0.076s)
pkg: /data/local/tmp/androlog-it-1.0.1-SNAPSHOT.apk
Success
[INFO] [android:internal-integration-test {execution: default-internal-integration-test}]
[INFO] /Users/clement/dev/android/tools/adb [shell, am, instrument, -w, de.akquinet.gomobile.androlog.test/android.test.InstrumentationTestRunner]
de.akquinet.gomobile.androlog.test.AndrologInitTest:...........
de.akquinet.gomobile.androlog.test.AndrologTest:...................
de.akquinet.gomobile.androlog.test.WTFTest:.........
Test results for InstrumentationTestRunner=.......................................
Time: 2.189
OK (39 tests)
[INFO] [install:install {execution: default-install}]
[INFO] Installing /Users/clement/Projects/androlog/androlog-it/target/androlog-it-1.0.1-SNAPSHOT.apk to /Users/clement/.m2/repository/de/akquinet/android/androlog/androlog-it/1.0.1-SNAPSHOT/androlog-it-1.0.1-SNAPSHOT.apk
[INFO] Installing /Users/clement/Projects/androlog/androlog-it/target/androlog-it-1.0.1-SNAPSHOT.jar to /Users/clement/.m2/repository/de/akquinet/android/androlog/androlog-it/1.0.1-SNAPSHOT/androlog-it-1.0.1-SNAPSHOT.jar
[INFO] Installing /Users/clement/Projects/androlog/androlog-it/target/androlog-it-1.0.1-SNAPSHOT-sources.jar to /Users/clement/.m2/repository/de/akquinet/android/androlog/androlog-it/1.0.1-SNAPSHOT/androlog-it-1.0.1-SNAPSHOT-sources.jar
[INFO] Installing /Users/clement/Projects/androlog/androlog-it/target/androlog-it-1.0.1-SNAPSHOT-javadoc.jar to /Users/clement/.m2/repository/de/akquinet/android/androlog/androlog-it/1.0.1-SNAPSHOT/androlog-it-1.0.1-SNAPSHOT-javadoc.jar
[INFO]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] Androlog Project ...................................... SUCCESS [6.003s]
[INFO] androlog-core ......................................... SUCCESS [6.084s]
[INFO] androlog-it ........................................... SUCCESS [23.133s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 41 seconds
[INFO] Finished at: Sat Sep 25 09:03:22 CEST 2010
[INFO] Final Memory: 72M/123M
[INFO] ------------------------------------------------------------------------
As androlog is hosted on github, we use the gihub issue tracking system. Just fill a ticket.