Previous Thread
Next Thread
Print Thread
Page 3 of 7 1 2 3 4 5 6 7
Re: Compile for Android? [Re: NLS] #105499 05/10/16 02:42 PM
Joined: Mar 2001
Posts: 16,576
R
R. Belmont Offline
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,576
Micko has succeeded and posted a picture of it running on an Nvidia SHIELD tablet. As far as I'm aware nobody else has, and we don't know the details of how he did it.

Building without -jX after -jX errors out will not take long, it'll go right to the file that caused the error in most cases.

Last edited by R. Belmont; 05/10/16 02:43 PM.
Re: Compile for Android? [Re: R. Belmont] #105500 05/10/16 04:29 PM
Joined: May 2012
Posts: 423
R
remax Offline
Senior Member
Offline
Senior Member
R
Joined: May 2012
Posts: 423
Originally Posted By R. Belmont
Micko has succeeded and posted a picture of it running on an Nvidia SHIELD tablet. As far as I'm aware nobody else has, and we don't know the details of how he did it.

Building without -jX after -jX errors out will not take long, it'll go right to the file that caused the error in most cases.


More directive : Don't do a "make clean" before launching again without -jX

Last edited by remax; 05/10/16 04:30 PM.
Re: Compile for Android? [Re: NLS] #105515 05/10/16 09:22 PM
Joined: Jun 2015
Posts: 55
N
NLS Offline OP
Member
OP Offline
Member
N
Joined: Jun 2015
Posts: 55
OK, I understand (I think).

Re: Compile for Android? [Re: NLS] #105609 05/17/16 05:36 PM
Joined: Feb 2008
Posts: 326
M
Micko Offline
Senior Member
Offline
Senior Member
M
Joined: Feb 2008
Posts: 326
Here is howto done for official Windows tools :

1. Update repositories
pacman -Sy

2. Install/update needed packages
pacman -S mame-essentials android-ndk android-sdk java

3. Restart console so new env.bat is actually called and set.

4. go to mame folder and run build :
make SUBTARGET=tiny android-arm -j9

5. If you wish to build for other platforms do that as well:
make SUBTARGET=tiny android-mips -j9
make SUBTARGET=tiny android-x86 -j9

6. go to android-project folder and run :
gradlew assemble


7. in android-project\app\build\outputs\apk\ there are generated APK files that you can install on any device running 4.3 and up (API 18)

On Linux and OSX you need to install Android NDK, Android SDK and Java.

Scripts assume that you have:
ANDROID_NDK_ROOT pointing to root of NDK
ANDROID_NDK_ARM pointing to android-ndk\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64

and so on for MIPS and X86
JAVA_HOME pointing to root of Java SDK
and
ANDROID_HOME pointing to root of Android SDK

points from 3-7 are same on Linux and OSX

Re: Compile for Android? [Re: NLS] #105612 05/17/16 06:20 PM
Joined: Jun 2015
Posts: 55
N
NLS Offline OP
Member
OP Offline
Member
N
Joined: Jun 2015
Posts: 55
Thanks man.
Will try tomorrow.

Re: Compile for Android? [Re: NLS] #105619 05/18/16 02:59 AM
Joined: Apr 2006
Posts: 688
D
Dullaron Offline
Senior Member
Offline
Senior Member
D
Joined: Apr 2006
Posts: 688
Well I got this error.

G:\MAME>call C:\msys64\win32\env.bat

[MINGW64] G:\MAME>cd C:\source

[MINGW64] G:\MAME>make SUBTARGET=tiny android-arm -j9
make: *** No rule to make target 'android-arm'. Stop.

///////////////////////

Never mind about the error. smile

I finally got it. Won't work on a .bat file as it seem. That is why the error pop up. Just weird because I have no problem using a .bat file to make mame64.exe file.

Must run the commands in the cmd only for the android build.

///////////////////////

Android 5.1.1 phone and 5.1.2 tablet.

The arrow most of time stay at the top part edge of the screen. Only move left and right at the top. Sometimes it will go to the other edge of the screen. It won't let me click on the list or anything with my finger. Seleuco know a work around this issue?

Doesn't won't to install on my Android 4.4.4. Give a compatible error.

Re: Compile for Android? [Re: NLS] #105623 05/18/16 09:20 AM
Joined: Jun 2015
Posts: 55
N
NLS Offline OP
Member
OP Offline
Member
N
Joined: Jun 2015
Posts: 55
Questions while I wait (I suspect it will fail):

1) What (and when) modifies env.bat and we need to reenter the console?

2) Not sure what subtarget tiny does.

3) Will android-arm64 compile?

4) What happens when I have already Android NDK (and ANDROID_NDK_ROOT set) OUTSIDE MAME build environment? Will it conflict with pacman installs? Same for ANDROID_NDK_ARM and other relative variables. They are already set in my computer's global variables (and point to the tools outside MAME building environment).
Will this go boom?

5) In case anybody manages to compile (like Dullaron), is it to early to start reporting bugs etc. related to Android? If yes, where? Here? Maybe some dedicated section? Maybe github? Mametesters? (I doubt for the latter)

Last edited by NLS; 05/18/16 09:25 AM.
Re: Compile for Android? [Re: NLS] #105625 05/18/16 09:47 AM
Joined: May 2008
Posts: 4,899
Q
qmc2 Offline
Very Senior Member
Offline
Very Senior Member
Q
Joined: May 2008
Posts: 4,899
2) SUBTARGET=tiny selects the "tiny" list of machines as specified in src/mame/tiny.lst, so your MAME binary would only contain a few systems / will quickly build:

Code:
rene@marvin:~/src/mame-git> cat src/mame/tiny.lst
// license:BSD-3-Clause
// copyright-holders:Aaron Giles
/******************************************************************************

    tiny.lst

    List of all enabled drivers in the system. This file is parsed by
    makelist.exe, sorted, and output as C code describing the drivers.

******************************************************************************/

robby           // (c) 1981 Bally Midway
gridlee         // [1983 Videa] prototype - no copyright notice
alienar         // (c) 1985 Duncan Brown

carpolo         // (c) 1977 Exidy
sidetrac        // (c) 1979 Exidy
targ            // (c) 1980 Exidy
spectar         // (c) 1980 Exidy
teetert         // (c) 1982 Exidy
hardhat         // (c) 1982
fax             // (c) 1983
fax2            // (c) 1983
circus          // (c) 1977 Exidy
robotbwl        // (c) 197? Exidy
crash           // (c) 1979 Exidy
ripcord         // (c) 1979 Exidy
starfire        // (c) 1979 Exidy
starfirea       // (c) 1979 Exidy
fireone         // (c) 1979 Exidy
starfir2        // (c) 1979 Exidy
victory         // (c) 1982
victorba        // (c) 1982
topgunnr        // (c) 1986

looping         // (c) 1982 Video Games GMBH
supertnk        // (c) 1981 VIDEO GAMES GmbH, W.-GERMANY

wrally          // (c) 1993 - Ref 930705


A mind is like a parachute. It doesn't work unless it's open. [Frank Zappa]

We're searching for QMC2 translators and support for existing translations. Interested? See here!
Re: Compile for Android? [Re: NLS] #105626 05/18/16 10:42 AM
Joined: Jun 2015
Posts: 55
N
NLS Offline OP
Member
OP Offline
Member
N
Joined: Jun 2015
Posts: 55
I suspected that.
Question is, will the full binary compile?
I guess I'll have to find out myself.

Re: Compile for Android? [Re: NLS] #105627 05/18/16 10:55 AM
Joined: Jun 2015
Posts: 55
N
NLS Offline OP
Member
OP Offline
Member
N
Joined: Jun 2015
Posts: 55
Mine failed in gradlew with some path issue I need to find and fix...

Code:
[MINGW64] D:\Development\msys64\src\mame\android-project>gradlew.bat assemble
WARNING [Project: :app] Current NDK support is deprecated.  Alternative will be provided in the future.

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> The SDK directory 'D:\Development\msys64\src\mame\android-project\..\..\..\Android\sdk' does not exist.

...I fixed that part before, so I guess I'll find what is wrong (...again)

EDIT: Found it. It was a previous fix, not needed any more. I removed "local.properties" (with the path), and now it worked.

Got three 10MB .apk. I guess arm64 compiles then. I'll keep those and try a full compile.

EDIT #2: I felt crazy enough to try the compile the same way as in Windows. So I used:
Code:
make android-arm64 OPTIMIZE=3 SYMBOLS=1 SYMLEVEL=1 STRIP_SYMBOLS=1 -j5

...which actually generated a few package warnings in the beginning. We'll see how it goes.

EDIT #3: And it failed. Then I tried without OPTIMIZE-3 and after seeing the same things in the beginning I stopped it. Then I tried simple "make android-arm64 -j5" and it failed almost immediately this time, indicating there is some trash to clean up first. (how?)



Last edited by NLS; 05/18/16 11:30 AM.
Page 3 of 7 1 2 3 4 5 6 7

Moderated by  R. Belmont 

Who's Online Now
1 registered members (shattered), 44 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
ShoutChat Box
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,814
Posts115,990
Members4,915
Most Online890
Jan 17th, 2020
Powered by UBB.threads™ PHP Forum Software 7.7.3