• This repository has been archived on 01/Nov/2021
  • Stars
    star
    323
  • Rank 129,311 (Top 3 %)
  • Language
    Java
  • License
    GNU General Publi...
  • Created over 6 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OpenMW for Android

No longer under development

You can download one of the old builds from the Releases tab.

OpenMW for Android

Google Play | Google Play (Nightly)

F-Droid | F-Droid (Nightly)

FAQ & Info

Building

There are two steps for building OpenMW for Android. The first step is building C/C++ libraries. The second step is building the Java launcher.

Prerequisites

You will need some standard tools installed that you probably already have (bash, gcc, g++, sha256sum, unzip).

CMake 3.6.0 or newer is required, you can download the latest version here (and place in your PATH) if your distro ships with an outdated version.

Additionally, to build the launcher you will need Android SDK installed, it is suggested that you use Android Studio which can set it up for you (see step 2).

Step 1: Build the libraries

Go into the buildscripts directory and run ./build.sh. The script will automatically download the Android native toolchain and all dependencies, and will compile and install them.

Step 2: Build the Java launcher

To get an APK file you can install, open the openmw-android directory in Android Studio and run the project.

Alternatively, if you do not have Android Studio installed or would rather not use it, run ./gradlew assembleDebug from the root directory of this repository. The resulting APK, located at ./app/build/outputs/apk/debug/app-debug.apk, can be transferred to the device and installed.

Notes for developers

Debugging native code

You can debug native code with ndk-gdb. To use it, once you've built both libraries and the apk and installed the apk, run the application and let it stay on the main menu. Then cd to app/src/main and run ./gdb.sh [arch]. The arch variable has to match the library your device will be using (one of arm, arm64, x86_64, x86; arm is the default).

This also automatically enables gdb to use unstripped libraries, so you get proper symbols, source code references, etc.

Running Address Sanitizer

To compile everything with ASAN:

# Clean previous build
./clean.sh
# Build with ASAN enabled & debug symbols
./build.sh --ccache --asan --debug
# Or: ./build.sh --ccache --asan --debug --arch arm64

Then open Android Studio and compile and install the project.

To get symbolized output:

adb logcat | ./tool/asan_symbolize.py --demangle -s ./symbols/armeabi-v7a/
# Or: adb logcat | ./tool/asan_symbolize.py --demangle -s ./symbols/arm64-v8a/

Credits

Source code

Original Java code written by sandstranger. Build scripts originally written by sandstranger and bwhaines.

More Repositories

1

acquisition

C++
270
star
2

gamecard-microsd

microSD adapter for PlayStation Vita
C
250
star
3

amonet

A bootrom exploit for MediaTek devices
C
166
star
4

pngshot

C
139
star
5

rop-rpc

Python
81
star
6

f00d

actually first public f00d hack, enjoy
C
74
star
7

ghidra-mep

Toshiba MeP processor module for GHIDRA
Assembly
70
star
8

vita-parse-core

Tool to parse Vita core files (crash dumps)
Python
45
star
9

vitadump

Tools to assist working with memory dumps obtained from PS Vita
Python
44
star
10

psclassic-source

C
42
star
11

vita-ida-physdump

Python
33
star
12

vita-idu

set/clear IDU mode
C
26
star
13

vita-button-swapper

A simple homebrew to change X/O layout (Japanese/non-Japanese confirm layouts)
C
21
star
14

ghidra-rl78

Renesas RL78 processor module for Ghidra
Shell
21
star
15

poverty-alice

C
20
star
16

minetest-mods

Mods for Minetest created by me
Lua
15
star
17

onomatopoeia

Isometric mapper for Minetest
Python
14
star
18

xyztkl-r2

13
star
19

taiga-aisaka

Shell
13
star
20

b-ken-ko

Python
9
star
21

womier-flasher

Python
8
star
22

stm32f103-hid-keyboard-bootloader

C
8
star
23

xyztkl-r1

7
star
24

vita-modump

C
7
star
25

hkki

Script Editor for the Hakkuouki DS game
C++
7
star
26

pyanidb

Clone of http://cgit.jvnv.net/pyanidb/
Python
7
star
27

sn32f260-keyboard-bootloader

C
7
star
28

prxldr

C
6
star
29

bsapack

Copy of bsapack with source code included
C++
6
star
30

vcmi-build

Based on https://github.com/pelya/commandergenius this "framework" helps you build VCMI for Android
C++
6
star
31

mepulator

Simple Toshiba MeP emulator with gdbstub support for remote debugging
C++
5
star
32

autokeycaps

Python
5
star
33

CrashFix

crashfix fork with fixes
PHP
4
star
34

rlvm-android

Java
4
star
35

android_bootable_recovery

C
4
star
36

path-of-exile-skilltree-planer

C#
4
star
37

vitalink

C++
4
star
38

android_device_amazon_karnak

Makefile
4
star
39

SN32F260_USB_Library_V1.08

C
3
star
40

mpv-android-build

Shell
3
star
41

minetest-stress

Lua
3
star
42

mpv-android

3
star
43

painting

in-game painting mod for minetest-c55
Lua
3
star
44

vitasdk-buildscripts

Repo moved to https://github.com/vitasdk/buildscripts
Shell
3
star
45

aniAdd

Java
3
star
46

soloud-demo

demo using soloud on ps vita
C
3
star
47

software-kvm

Shell
3
star
48

g60

2
star
49

basicpold

2
star
50

mobs

MoonScript
2
star
51

roptool-legacy

old roptool is the best roptool well actually it still sucks but whatever
C++
2
star
52

vita-newlib

Repo moved to https://github.com/vitasdk/newlib
C
2
star
53

android_device_amazon_mustang

Makefile
1
star
54

wk161

JavaScript
1
star
55

omw-site

HTML
1
star
56

mal

Python
1
star
57

acquisition-redist

Windows binary dependencies for Acquisition
1
star
58

prebuilt-prefixes

1
star
59

cryptopals

C
1
star
60

minetest-russian

1
star
61

knobpad

1
star