New App: OpenMW

This commit is contained in:
licaon-kter 2019-05-05 04:50:11 +03:00
parent 55d7040a63
commit 178cb1c9c1
4 changed files with 157 additions and 0 deletions

View file

@ -0,0 +1,61 @@
Categories:
- Games
License: GPL-3.0-only
WebSite: https://openmw.org/
SourceCode: https://github.com/OpenMW/android-port
IssueTracker: https://github.com/OpenMW/android-port/issues
Summary: A game engine compatible with TES3:Morrowind data files
Description: |-
OpenMW is an open-source, free-software game engine that reimplements the one powering Bethesda Softworks' 2002 open-world role-playing game Morrowind.
This is an OpenMW port for Android, adapted to be played with touchscreen or remote controller. To play it, you need to use your own, legally acquired Morrowind data files.
Note: This is the "official" version build from the OpenMW Android repo where the releases might follow the main OpenMW release cycle.
RepoType: git
Repo: https://github.com/OpenMW/android-port.git
Builds:
- versionName: 0.46.0
versionCode: 8
commit: 4552b111043665f5501bcfb0173c0e09bf19447a
timeout: 20000
sudo:
- apt update || apt update
- apt install -y cmake doxygen g++ pkgconf wget
patch:
- build-gradle.patch
- androidmanifest.patch
- mainactivity.patch
gradle:
- yes
output: app/build/outputs/apk/release/app-release-unsigned.apk
prebuild:
- sed -i -e '/Unzip/,+5d' buildscripts/include/setup-ndk.sh
- sed -i -e 's/\ -Wl,-plugin-opt=-emulated-tls//' -e '/download-ndk/d' -e '/debugging\
life/,+19d' buildscripts/build.sh
- mkdir -p buildscripts/toolchain/ndk
- cp -r $$NDK$$/* buildscripts/toolchain/ndk/
- ./buildscripts/build.sh --arch arm --lto
- ./buildscripts/build.sh --arch arm64 --lto
- ./buildscripts/build.sh --arch x86 --lto
- ./buildscripts/build.sh --arch x86_64 --lto
- rm -fr ./buildscripts/build/*
- rm -fr ./buildscripts/prefix/*
- rm -fr ./buildscripts/symbols/*
- rm -fr ./buildscripts/toolchain/*
scanignore:
- app/src/main/assets
- app/src/main/jniLibs
ndk: r18b
MaintainerNotes: |-
- we patch Crashlytics away in build-gradle, androidmanifest and mainactivity
- we use prebuild else fdroid scanner will detect the built libs as binaries on the second pass before running build, and we can't scanignore them (at start) since they don't exist yet, see https://gitlab.com/fdroid/fdroidserver/issues/635
- we remove the buildtools and intermediary artefacts (several gigabytes) else they'll get pulled in the source tarball
AutoUpdateMode: None
UpdateCheckMode: None
CurrentVersion: 0.46.0
CurrentVersionCode: 8

View file

@ -0,0 +1,13 @@
--- a/app/src/main/AndroidManifest.xml 2019-05-05 04:27:18.000000000 +0300
+++ b/app/src/main/AndroidManifest.xml 2019-05-05 04:30:09.270861861 +0300
@@ -49,10 +49,5 @@
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
-
- <meta-data
- android:name="io.fabric.ApiKey"
- android:value="f88fafa8fb5677ac16dd43aaf73f988cd6095b06" />
-
</application>
</manifest>

View file

@ -0,0 +1,37 @@
--- a/app/build.gradle 2019-05-05 04:27:18.000000000 +0300
+++ b/app/build.gradle 2019-05-05 04:27:58.605059817 +0300
@@ -1,14 +1,4 @@
-buildscript {
- repositories {
- maven { url 'https://maven.fabric.io/public' }
- }
-
- dependencies {
- classpath 'io.fabric.tools:gradle:1.+'
- }
-}
apply plugin: 'com.android.application'
-apply plugin: 'io.fabric'
apply plugin: 'kotlin-android'
ext {
@@ -59,19 +49,10 @@
maven {
url "https://jitpack.io"
}
- maven { url 'https://maven.fabric.io/public' }
}
dependencies {
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
- implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
- implementation 'com.crashlytics.sdk.android:crashlytics-ndk:2.0.5'
-}
-
-crashlytics {
- enableNdk true
- androidNdkOut '../buildscripts/symbols'
- androidNdkLibsOut 'src/main/jniLibs'
}

View file

@ -0,0 +1,46 @@
--- a/app/src/main/java/ui/activity/MainActivity.java 2019-05-05 04:27:18.000000000 +0300
+++ b/app/src/main/java/ui/activity/MainActivity.java 2019-05-05 04:29:28.782248394 +0300
@@ -17,12 +17,8 @@
import android.view.View;
import android.widget.Toast;
-import com.crashlytics.android.Crashlytics;
-import com.crashlytics.android.ndk.CrashlyticsNdk;
import com.libopenmw.openmw.R;
-import io.fabric.sdk.android.Fabric;
-
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
@@ -50,7 +46,6 @@
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- Fabric.with(this, new Crashlytics(), new CrashlyticsNdk());
PermissionHelper.getWriteExternalStoragePermission(MainActivity.this);
setContentView(R.layout.main);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
@@ -79,14 +74,6 @@
if (openmwCfg.exists()) {
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(openmwCfg)));
String line;
- Crashlytics.log("openmw.cfg");
- Crashlytics.log("--------------------------------------------------------------------------------");
- while ((line = reader.readLine()) != null) {
- // Don't log fallback lines, they are mostly useless
- if (!line.contains("fallback="))
- Crashlytics.log(line);
- }
- Crashlytics.log("--------------------------------------------------------------------------------");
}
} catch (Exception e) {
// not a big deal if we can't log the contents
@@ -193,7 +180,6 @@
});
} catch (IOException e) {
Log.e(TAG, "Failed to write config files.", e);
- Crashlytics.logException(e);
}
});
th.start();