| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
>= 10d
Adjust build scripts and GlueGen Android tasks
for SDK >= 24.0.2 (build-tools >= 21.1.2) and NDK >= 10d
|
|
|
|
| |
Android compatibility w/ Java7 toolchain.
|
|
|
|
| |
producing Java6 bytecode ; Apply JAR Manifest tags: Sealed, Permissions and Codebase
|
|
|
|
|
|
|
|
|
|
|
|
| |
Manifest ; Common jogamp_int_version for Android.
Until 2.0.2 gets released, the version string is 2.0.2-rc-<TIMESTAMP>
and used in the Manifest for IMPLEMENTATION_VERSION.
The previous build version name of IMPLEMENTATION_VERSION
goes into the new tag IMPLEMENTATION_BUILD.
Further more, we use a common jogamp_int_version for Android, to make life more easy.
|
|
|
|
| |
jogamp-androidtasks.xml was using ANDROID_SDK_HOME, -> ANDROID_HOME
|
|
|
|
| |
GLUEGEN_PROPERTIES_FILE -> property gluegen.user.properties.file ; Use props for android keystore values
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Android specific classes for non Android platforms
Ensure same Java JAR content regardless of build target (fix).
Separate Android compilation results to gluegen-rt-android.jar,
avoiding generating different content of gluegen-rt.jar w/ non android builds.
aapt.signed: @{android.abi} argument is 'generic' by default.
Adding ${android.abi} to APK target name (gluegen-rt-android-armeabi-v7a.apk)
if not generic.
|
|
|
|
|
|
|
| |
image folder ..
.. so they are not included in the APK. Including them in the APK causes
Google market/play to use both as platform filters (0 devices if no native folder is present).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Android ClassLoaderUtil cleanup;
- Add 'asset' URLConnection
- Please read API doc 'PiggybackURLConnection' and 'AssetURLConnection'
- Solves generic resource handling where platform locations may differ,
ie ClassLoader lookup on Android in the 'assets/' subfolder.
- New Android 'AssetDexClassLoader' uses 'assets/' folder for findResource(..)
- aapt.signed (our APK ant task)
- uses 'assets/' folder
- adds the 'assetsdir' attribute allowing to copy other assets into the APK
- IOUtil uses URLConnection / incr. effeciency
- using URLConnection on all getResource(..) since URL
is connected anyways for validation and URLConnection can be used by caller right away
- String getRelativeOf(URL, String) -> URL getRelativeOf(URL, String)
- preserves scheme, authority, etc
- simple parentOf handling, more efficient
- reusing new 'asset' protocol impl.
- Android ClassLoaderUtil cleanup;
- Use createClassLoader(..) impl for build-in static jogamp and user APKs,
which removes code redundancy
Tests: New code path, especially 'assets' are covered by new unit tests, no regressions on Linux.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- A bug in cpptasks was getting in the way of a working build with NDK
r7. A local patch to cpptasks fixed the bug.
- The patch is added as make/lib/cpptasks_gcclinker.patch and applies
cleanly to cpptasts @ revision 177.
- The result of building cpptasks r177 with this patch is part of the
commit as well.
- Cleaned up and simplified the android cross-compile script in
make/scripts.
- Cleaned up arguments passed to gcc for compiling and linking to look
more like the command lines used for building NDK samples.
- Some differences are necessary as cpptasks won't let us specify any
binary other than 'gcc' for building. See
gluegen-cpptasks-android-armv7.xml for comments on the matter.
- Thinking forward to x86 support, generalized jogamp-androidtasks.xml
to install the gluegen shared library in a subdirectory of image/lib
named for the targetted ABI for packaging with aapt. This file is
no-longer ARM-specific.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current minimum requirements are:
- Java 1.6 (Level 6.0)
- Android SDK API Level 9 (Version 2.3 Gingerbread)
Official production builds are performed w/ Java 1.6.
- Java 1.6 (Level 6.0)
- Android SDK API Level 9 (Version 2.3 Gingerbread)
Android supports Java language level 6.0.
Nevertheless, it cannot be guaranteed whether the Android API
supports all classes and methods of Java 1.6.
It is required for JogAmp developers to validate Android compatibility
by an Android crosscompilation build.
Current GlueGen code utilizes some minor Java 1.6 features
which could be replaced, however it's not desired at this point
since we have no mode hard Java 1.5 constraints.
Notes:
- On OS X 10.5.8, only the 64bit version of Java6 is available
and hence the only supported one on Leopard.
+++
Pushing determination of host (compiletime) and target (runtime) Java version
to 'jogamp-env.xml'.
jogamp-env.xml uses:
env: SOURCE_LEVEL -> propery: target.sourcelevel def.: ${ant.java.version} >=1.6 (!)
env: TARGET_LEVEL -> propery: target.targetlevel def.: ${ant.java.version} >=1.6 (!)
env: TARGET_RT_JAR -> propery: target.rt.jar def.: ${java.home}/lib/rt.jar
Either all above values are set, or none at all (default),
otherwise a build error is being thrown.
Further more we have the compiletime properties:
host.sourcelevel def.: ${ant.java.version} >= 1.6 (!)
host.targetlevel def.: ${ant.java.version} >= 1.6 (!)
host.rt.jar def.: ${java.home}/lib/rt.jar
+++
- 'javac.memorymax' defaults to 1024m now.
|
| |
|
|
|
|
| |
resources inclusion
|
| |
|
|
|
|
| |
uses-library com.jogamp.common
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
resources -> make/resources
Drop android.jar
- version 8 and 9
- license: apache v2 (NOTICE.txt included)
- allows compilation using Android API on all platforms
Simplify 'aapt.signed'
- removed 'jarclasspathrefid', seems to be not needed
(commented out)
Move our android resources make/lib/android -> make/resources/android
- make/lib is for 3rd party stuff only
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- build:
- exclude android packages if !isAndroid
- aapt:
- Use individual AndroidManifest xml files
- optional: incl. our JAR manifest file to support detailed version info
- use def. GluegenVersionActivity
- APK VersionName: Retrieve and show
- package/extension names:
- gluegen.jar/apk: com.jogamp.gluegen
- gluegen-rt.jar/apk: com.jogamp.common
|
| |
|
|
icons
make/scripts/make.gluegen.all.android-armv7-cross.sh
- make Rami and me happy :)
- 3 default locations plus recognize user provided android toolkit path
- fixes using ant targets as arguments
make/jogamp-androidtasks.xml
- macro aapt.signed: create signed apk file from jar
- incl. adding native libraries
- see macro doc.
adding generic jogamp icons/images
|