summaryrefslogtreecommitdiffstats
path: root/android
diff options
context:
space:
mode:
Diffstat (limited to 'android')
-rw-r--r--android/AndroidManifest.xml24
-rw-r--r--android/assets/badlogic.jpgbin0 -> 68465 bytes
-rw-r--r--android/build.gradle136
-rw-r--r--android/ic_launcher-web.pngbin0 -> 22195 bytes
-rw-r--r--android/proguard-rules.pro45
-rw-r--r--android/project.properties9
-rw-r--r--android/res/drawable-hdpi/ic_launcher.pngbin0 -> 16820 bytes
-rw-r--r--android/res/drawable-mdpi/ic_launcher.pngbin0 -> 16124 bytes
-rw-r--r--android/res/drawable-xhdpi/ic_launcher.pngbin0 -> 17915 bytes
-rw-r--r--android/res/drawable-xxhdpi/ic_launcher.pngbin0 -> 18746 bytes
-rw-r--r--android/res/drawable-xxxhdpi/ic_launcher.pngbin0 -> 19448 bytes
-rw-r--r--android/res/values/strings.xml6
-rw-r--r--android/res/values/styles.xml12
-rw-r--r--android/src/ch/asynk/zproject/AndroidLauncher.java16
14 files changed, 248 insertions, 0 deletions
diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml
new file mode 100644
index 0000000..fb555f3
--- /dev/null
+++ b/android/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="ch.asynk.zproject" >
+
+ <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="27" />
+
+ <application
+ android:allowBackup="true"
+ android:icon="@drawable/ic_launcher"
+ android:label="@string/app_name"
+ android:theme="@style/GdxTheme" >
+ <activity
+ android:name="ch.asynk.zproject.AndroidLauncher"
+ android:label="@string/app_name"
+ android:screenOrientation="landscape"
+ android:configChanges="keyboard|keyboardHidden|navigation|orientation|screenSize">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+
+</manifest>
diff --git a/android/assets/badlogic.jpg b/android/assets/badlogic.jpg
new file mode 100644
index 0000000..4390da6
--- /dev/null
+++ b/android/assets/badlogic.jpg
Binary files differ
diff --git a/android/build.gradle b/android/build.gradle
new file mode 100644
index 0000000..a9d0796
--- /dev/null
+++ b/android/build.gradle
@@ -0,0 +1,136 @@
+android {
+ buildToolsVersion "27.0.3"
+ compileSdkVersion 27
+ sourceSets {
+ main {
+ manifest.srcFile 'AndroidManifest.xml'
+ java.srcDirs = ['src']
+ aidl.srcDirs = ['src']
+ renderscript.srcDirs = ['src']
+ res.srcDirs = ['res']
+ assets.srcDirs = ['assets']
+ jniLibs.srcDirs = ['libs']
+ }
+
+ }
+ packagingOptions {
+ exclude 'META-INF/robovm/ios/robovm.xml'
+ }
+ defaultConfig {
+ applicationId "ch.asynk.zproject"
+ minSdkVersion 9
+ targetSdkVersion 27
+ versionCode 1
+ versionName "1.0"
+ }
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+}
+
+
+// called every time gradle gets executed, takes the native dependencies of
+// the natives configuration, and extracts them to the proper libs/ folders
+// so they get packed with the APK.
+task copyAndroidNatives() {
+ file("libs/armeabi/").mkdirs();
+ file("libs/armeabi-v7a/").mkdirs();
+ file("libs/arm64-v8a/").mkdirs();
+ file("libs/x86_64/").mkdirs();
+ file("libs/x86/").mkdirs();
+
+ configurations.natives.files.each { jar ->
+ def outputDir = null
+ if(jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a")
+ if(jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a")
+ if(jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi")
+ if(jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64")
+ if(jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86")
+ if(outputDir != null) {
+ copy {
+ from zipTree(jar)
+ into outputDir
+ include "*.so"
+ }
+ }
+ }
+}
+
+task run(type: Exec) {
+ def path
+ def localProperties = project.file("../local.properties")
+ if (localProperties.exists()) {
+ Properties properties = new Properties()
+ localProperties.withInputStream { instr ->
+ properties.load(instr)
+ }
+ def sdkDir = properties.getProperty('sdk.dir')
+ if (sdkDir) {
+ path = sdkDir
+ } else {
+ path = "$System.env.ANDROID_HOME"
+ }
+ } else {
+ path = "$System.env.ANDROID_HOME"
+ }
+
+ def adb = path + "/platform-tools/adb"
+ commandLine "$adb", 'shell', 'am', 'start', '-n', 'ch.asynk.zproject/ch.asynk.zproject.AndroidLauncher'
+}
+
+// sets up the Android Eclipse project, using the old Ant based build.
+eclipse {
+ // need to specify Java source sets explicitly, SpringSource Gradle Eclipse plugin
+ // ignores any nodes added in classpath.file.withXml
+ sourceSets {
+ main {
+ java.srcDirs "src", 'gen'
+ }
+ }
+
+ jdt {
+ sourceCompatibility = 1.6
+ targetCompatibility = 1.6
+ }
+
+ classpath {
+ plusConfigurations += [ project.configurations.compile ]
+ containers 'com.android.ide.eclipse.adt.ANDROID_FRAMEWORK', 'com.android.ide.eclipse.adt.LIBRARIES'
+ }
+
+ project {
+ name = appName + "-android"
+ natures 'com.android.ide.eclipse.adt.AndroidNature'
+ buildCommands.clear();
+ buildCommand "com.android.ide.eclipse.adt.ResourceManagerBuilder"
+ buildCommand "com.android.ide.eclipse.adt.PreCompilerBuilder"
+ buildCommand "org.eclipse.jdt.core.javabuilder"
+ buildCommand "com.android.ide.eclipse.adt.ApkBuilder"
+ }
+}
+
+// sets up the Android Idea project, using the old Ant based build.
+idea {
+ module {
+ sourceDirs += file("src");
+ scopes = [ COMPILE: [plus:[project.configurations.compile]]]
+
+ iml {
+ withXml {
+ def node = it.asNode()
+ def builder = NodeBuilder.newInstance();
+ builder.current = node;
+ builder.component(name: "FacetManager") {
+ facet(type: "android", name: "Android") {
+ configuration {
+ option(name: "UPDATE_PROPERTY_FILES", value:"true")
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/android/ic_launcher-web.png b/android/ic_launcher-web.png
new file mode 100644
index 0000000..8f0110d
--- /dev/null
+++ b/android/ic_launcher-web.png
Binary files differ
diff --git a/android/proguard-rules.pro b/android/proguard-rules.pro
new file mode 100644
index 0000000..b166b1e
--- /dev/null
+++ b/android/proguard-rules.pro
@@ -0,0 +1,45 @@
+# To enable ProGuard in your project, edit project.properties
+# to define the proguard.config property as described in that file.
+#
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in ${sdk.dir}/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the ProGuard
+# include property in project.properties.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+-verbose
+
+-dontwarn android.support.**
+-dontwarn com.badlogic.gdx.backends.android.AndroidFragmentApplication
+-dontwarn com.badlogic.gdx.utils.GdxBuild
+-dontwarn com.badlogic.gdx.physics.box2d.utils.Box2DBuild
+-dontwarn com.badlogic.gdx.jnigen.BuildTarget*
+-dontwarn com.badlogic.gdx.graphics.g2d.freetype.FreetypeBuild
+
+-keep class com.badlogic.gdx.controllers.android.AndroidControllers
+
+-keepclassmembers class com.badlogic.gdx.backends.android.AndroidInput* {
+ <init>(com.badlogic.gdx.Application, android.content.Context, java.lang.Object, com.badlogic.gdx.backends.android.AndroidApplicationConfiguration);
+}
+
+-keepclassmembers class com.badlogic.gdx.physics.box2d.World {
+ boolean contactFilter(long, long);
+ void beginContact(long);
+ void endContact(long);
+ void preSolve(long, long);
+ void postSolve(long, long);
+ boolean reportFixture(long);
+ float reportRayFixture(long, float, float, float, float, float);
+}
diff --git a/android/project.properties b/android/project.properties
new file mode 100644
index 0000000..3fefa92
--- /dev/null
+++ b/android/project.properties
@@ -0,0 +1,9 @@
+# This file is used by the Eclipse ADT plugin. It is unnecessary for IDEA and Android Studio projects, which
+# configure Proguard and the Android target via the build.gradle file.
+
+# To enable ProGuard to work with Eclipse ADT, uncomment this (available properties: sdk.dir, user.home)
+# and ensure proguard.jar in the Android SDK is up to date (or alternately reduce the android target to 23 or lower):
+# proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-rules.pro
+
+# Project target.
+target=android-19
diff --git a/android/res/drawable-hdpi/ic_launcher.png b/android/res/drawable-hdpi/ic_launcher.png
new file mode 100644
index 0000000..91f696b
--- /dev/null
+++ b/android/res/drawable-hdpi/ic_launcher.png
Binary files differ
diff --git a/android/res/drawable-mdpi/ic_launcher.png b/android/res/drawable-mdpi/ic_launcher.png
new file mode 100644
index 0000000..c1ab239
--- /dev/null
+++ b/android/res/drawable-mdpi/ic_launcher.png
Binary files differ
diff --git a/android/res/drawable-xhdpi/ic_launcher.png b/android/res/drawable-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..2011cc0
--- /dev/null
+++ b/android/res/drawable-xhdpi/ic_launcher.png
Binary files differ
diff --git a/android/res/drawable-xxhdpi/ic_launcher.png b/android/res/drawable-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..25fcef0
--- /dev/null
+++ b/android/res/drawable-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/android/res/drawable-xxxhdpi/ic_launcher.png b/android/res/drawable-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000..d109946
--- /dev/null
+++ b/android/res/drawable-xxxhdpi/ic_launcher.png
Binary files differ
diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml
new file mode 100644
index 0000000..b9780ad
--- /dev/null
+++ b/android/res/values/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+ <string name="app_name">zproject</string>
+
+</resources>
diff --git a/android/res/values/styles.xml b/android/res/values/styles.xml
new file mode 100644
index 0000000..3f00fc5
--- /dev/null
+++ b/android/res/values/styles.xml
@@ -0,0 +1,12 @@
+<resources>
+
+ <style name="GdxTheme" parent="android:Theme">
+ <item name="android:windowBackground">@android:color/transparent</item>
+ <item name="android:colorBackgroundCacheHint">@null</item>
+ <item name="android:windowAnimationStyle">@android:style/Animation</item>
+ <item name="android:windowNoTitle">true</item>
+ <item name="android:windowContentOverlay">@null</item>
+ <item name="android:windowFullscreen">true</item>
+ </style>
+
+</resources>
diff --git a/android/src/ch/asynk/zproject/AndroidLauncher.java b/android/src/ch/asynk/zproject/AndroidLauncher.java
new file mode 100644
index 0000000..a6060bf
--- /dev/null
+++ b/android/src/ch/asynk/zproject/AndroidLauncher.java
@@ -0,0 +1,16 @@
+package ch.asynk.zproject;
+
+import android.os.Bundle;
+
+import com.badlogic.gdx.backends.android.AndroidApplication;
+import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
+import ch.asynk.zproject.ZProject;
+
+public class AndroidLauncher extends AndroidApplication {
+ @Override
+ protected void onCreate (Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
+ initialize(new ZProject(), config);
+ }
+}