diff options
Diffstat (limited to 'android')
-rw-r--r-- | android/AndroidManifest.xml | 24 | ||||
-rw-r--r-- | android/assets/badlogic.jpg | bin | 0 -> 68465 bytes | |||
-rw-r--r-- | android/build.gradle | 136 | ||||
-rw-r--r-- | android/ic_launcher-web.png | bin | 0 -> 22195 bytes | |||
-rw-r--r-- | android/proguard-rules.pro | 45 | ||||
-rw-r--r-- | android/project.properties | 9 | ||||
-rw-r--r-- | android/res/drawable-hdpi/ic_launcher.png | bin | 0 -> 16820 bytes | |||
-rw-r--r-- | android/res/drawable-mdpi/ic_launcher.png | bin | 0 -> 16124 bytes | |||
-rw-r--r-- | android/res/drawable-xhdpi/ic_launcher.png | bin | 0 -> 17915 bytes | |||
-rw-r--r-- | android/res/drawable-xxhdpi/ic_launcher.png | bin | 0 -> 18746 bytes | |||
-rw-r--r-- | android/res/drawable-xxxhdpi/ic_launcher.png | bin | 0 -> 19448 bytes | |||
-rw-r--r-- | android/res/values/strings.xml | 6 | ||||
-rw-r--r-- | android/res/values/styles.xml | 12 | ||||
-rw-r--r-- | android/src/ch/asynk/zproject/AndroidLauncher.java | 16 |
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 Binary files differnew file mode 100644 index 0000000..4390da6 --- /dev/null +++ b/android/assets/badlogic.jpg 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 Binary files differnew file mode 100644 index 0000000..8f0110d --- /dev/null +++ b/android/ic_launcher-web.png 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 Binary files differnew file mode 100644 index 0000000..91f696b --- /dev/null +++ b/android/res/drawable-hdpi/ic_launcher.png diff --git a/android/res/drawable-mdpi/ic_launcher.png b/android/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..c1ab239 --- /dev/null +++ b/android/res/drawable-mdpi/ic_launcher.png diff --git a/android/res/drawable-xhdpi/ic_launcher.png b/android/res/drawable-xhdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..2011cc0 --- /dev/null +++ b/android/res/drawable-xhdpi/ic_launcher.png diff --git a/android/res/drawable-xxhdpi/ic_launcher.png b/android/res/drawable-xxhdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..25fcef0 --- /dev/null +++ b/android/res/drawable-xxhdpi/ic_launcher.png diff --git a/android/res/drawable-xxxhdpi/ic_launcher.png b/android/res/drawable-xxxhdpi/ic_launcher.png Binary files differnew file mode 100644 index 0000000..d109946 --- /dev/null +++ b/android/res/drawable-xxxhdpi/ic_launcher.png 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); + } +} |