summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2022-10-06 01:30:35 +0600
committerilotterytea <iltsu@alright.party>2022-10-06 01:30:35 +0600
commit54594c18eebb0f6a2d758cb920f71ff007eef436 (patch)
tree5c367ed668274dce37716bb1d6d283aa4dbf7887 /android
parent3c1b7a4b4a85a18deea201f4cd5921fc0fdc649a (diff)
наконец-то ебучая поддержка андроидов наступила
Diffstat (limited to 'android')
-rw-r--r--android/AndroidManifest.xml29
-rw-r--r--android/build.gradle90
-rw-r--r--android/proguard-rules.pro42
-rw-r--r--android/project.properties9
-rw-r--r--android/res/drawable-hdpi/maxon.pngbin0 -> 10340 bytes
-rw-r--r--android/res/drawable-mdpi/maxon.pngbin0 -> 5249 bytes
-rw-r--r--android/res/drawable-xhdpi/maxon.pngbin0 -> 17088 bytes
-rw-r--r--android/res/drawable-xxhdpi/maxon.pngbin0 -> 35049 bytes
-rw-r--r--android/res/drawable-xxxhdpi/maxon.pngbin0 -> 58327 bytes
-rw-r--r--android/res/values/strings.xml6
-rw-r--r--android/src/com/ilotterytea/maxoning/AndroidLauncher.java16
11 files changed, 192 insertions, 0 deletions
diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml
new file mode 100644
index 0000000..e4a6825
--- /dev/null
+++ b/android/AndroidManifest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.mygdx.game">
+
+ <uses-feature android:glEsVersion="0x00020000" android:required="true" />
+
+ <application
+ android:allowBackup="true"
+ android:fullBackupContent="true"
+ android:icon="@drawable/maxon"
+ android:isGame="true"
+ android:appCategory="game"
+ android:label="@string/app_name"
+ tools:ignore="UnusedAttribute">
+ <activity
+ android:name="com.ilotterytea.maxoning.AndroidLauncher"
+ android:label="@string/app_name"
+ android:screenOrientation="portrait"
+ android:configChanges="keyboard|keyboardHidden|navigation|orientation|screenSize|screenLayout"
+ android:exported="true">
+ <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/build.gradle b/android/build.gradle
new file mode 100644
index 0000000..6671f07
--- /dev/null
+++ b/android/build.gradle
@@ -0,0 +1,90 @@
+android {
+ buildToolsVersion "33.0.0"
+ compileSdkVersion 33
+ 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 "com.ilotterytea.maxoning"
+ minSdkVersion 16
+ targetSdkVersion 33
+ versionCode 1
+ versionName "Alpha 1.2"
+ }
+ buildTypes {
+ release {
+ minifyEnabled true
+ 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 {
+ doFirst {
+ file("libs/armeabi-v7a/").mkdirs()
+ file("libs/arm64-v8a/").mkdirs()
+ file("libs/x86_64/").mkdirs()
+ file("libs/x86/").mkdirs()
+
+ configurations.natives.copy().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-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"
+ }
+ }
+ }
+ }
+}
+
+tasks.whenTaskAdded { packageTask ->
+ if (packageTask.name.contains("merge") && packageTask.name.contains("JniLibFolders")) {
+ packageTask.dependsOn 'copyAndroidNatives'
+ }
+}
+
+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', 'com.ilotterytea.maxoning/com.ilotterytea.maxoning.AndroidLauncher'
+}
+
+eclipse.project.name = appName + "-android"
diff --git a/android/proguard-rules.pro b/android/proguard-rules.pro
new file mode 100644
index 0000000..6e0b079
--- /dev/null
+++ b/android/proguard-rules.pro
@@ -0,0 +1,42 @@
+# 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 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
+
+# Required if using Gdx-Controllers extension
+-keep class com.badlogic.gdx.controllers.android.AndroidControllers
+
+# Required if using Box2D extension
+-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/maxon.png b/android/res/drawable-hdpi/maxon.png
new file mode 100644
index 0000000..8ed0628
--- /dev/null
+++ b/android/res/drawable-hdpi/maxon.png
Binary files differ
diff --git a/android/res/drawable-mdpi/maxon.png b/android/res/drawable-mdpi/maxon.png
new file mode 100644
index 0000000..f195939
--- /dev/null
+++ b/android/res/drawable-mdpi/maxon.png
Binary files differ
diff --git a/android/res/drawable-xhdpi/maxon.png b/android/res/drawable-xhdpi/maxon.png
new file mode 100644
index 0000000..5c1bdb2
--- /dev/null
+++ b/android/res/drawable-xhdpi/maxon.png
Binary files differ
diff --git a/android/res/drawable-xxhdpi/maxon.png b/android/res/drawable-xxhdpi/maxon.png
new file mode 100644
index 0000000..324d127
--- /dev/null
+++ b/android/res/drawable-xxhdpi/maxon.png
Binary files differ
diff --git a/android/res/drawable-xxxhdpi/maxon.png b/android/res/drawable-xxxhdpi/maxon.png
new file mode 100644
index 0000000..e73c52c
--- /dev/null
+++ b/android/res/drawable-xxxhdpi/maxon.png
Binary files differ
diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml
new file mode 100644
index 0000000..cbe6c20
--- /dev/null
+++ b/android/res/values/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+ <string name="app_name">Maxon Petting Simulator</string>
+
+</resources>
diff --git a/android/src/com/ilotterytea/maxoning/AndroidLauncher.java b/android/src/com/ilotterytea/maxoning/AndroidLauncher.java
new file mode 100644
index 0000000..f217cb9
--- /dev/null
+++ b/android/src/com/ilotterytea/maxoning/AndroidLauncher.java
@@ -0,0 +1,16 @@
+package com.ilotterytea.maxoning;
+
+import android.os.Bundle;
+
+import com.badlogic.gdx.backends.android.AndroidApplication;
+import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
+import com.ilotterytea.maxoning.MaxonGame;
+
+public class AndroidLauncher extends AndroidApplication {
+ @Override
+ protected void onCreate (Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
+ initialize(new MaxonGame(), config);
+ }
+}