Love2D making self-executable with no unpacking - android

Im create simple game, remake my old ZX-Spectrum game "m2k"
Love2D is simple engine using LUA.
What i need:
Compile Love2D -> exe files, linux binary, android apk.
Goal is pack Win32, Linux64 bit and android apk WITHOUT possiblity of just unpacking .love file and WITHOUT manual installing love2d engine.
https://pp.userapi.com/c637425/v637425257/4a8a8/QCv9Q5dz_b4.jpg
I cannot found anything useful about it. I found LoveExporter 0.2 by shake but this utilite fails compiling normal binary. It fails with error.
All manuals tell me just create .love file and send it to all. No way.
It's no good for me.
Maybe i can run this utilite. I fails with 0.2 version maybe 0.1 works
http://snake174.github.io/html/programs/love_exporter.html
Partially it works, but it requires Microsoft Windows, and android support is broken. Developer not create new versions about a year +.
I don't want to pay for windows, reboot to windows or another using unsafe OS, and requires Native full work analog.
etc
Compile Love2D -> exe files, linux binary, android apk.

The wiki already has a guide for creating executables for Windows, Linux, Mac and Android. Unless I'm misunderstanding your request, you need this.

Related

Is there apktool on Android? I want to assemble ".smali" and make new ".apk" in an Android application

I want to assemble ".smali" and make new ".apk" in an Android application. I don't have so much time to do this so I have to use some source code that already exists.
There is an Apktool project which can build on Windows/Mac OS X/Linux, but I want to build it on Android.
I also tried to include the "apktool.jar" as an external library in an Android Application Project in Eclipse, but it failed.
After some research, it seems more clear that I need only the following two projects running on Android:
Smali (independent project)
JarSigner (from OpenJDK)
And, Apktool is not necessary.
This project has what I need:
https://code.google.com/p/java-ide-droid/
Requirements
JRE 1.6 (Java Runtime Environment)
aapt command in a PATH
basic knowledge of what is SDK, aapt, PATH, smali and Google search engine may be useful
This is from the apktools official website. Because it needs aapt, it seems quite hard to use apktools in an Android app. But if you can get the source code and compiled in an aosp environment, it could possibly make it run on the Android side.
Yes, there is a program also named apktool, but which runs on Android! Just have a look at http://code.google.com/p/apktool.
As of 2022, Yes there is a mobile version of Apktool, it is however not developed by iBotPeaches it's developed by Maximoff.
It's called Apktool M, you can grab the latest stable version from the link below.
https://maximoff.su/apktool/?lang=en
As far as stability goes it's definitely stable for Android 12 as far as I've tested.
Because I'm also a security freak, I ran it through about 7 different AV scanners to make sure I wasn't installing some hogwash virus masquerading as a legit app, and all of the scan results returned nothing malicious.
As far as usage goes it definitely decompiles APK's like Apktool as far as I've tested, however I don't expect it to work on every APK though.
According to the documentation,
Apktool M uses the following open source projects:
Apktool-android
aapt, aapt2
Commons IO
Apktool
antlr4
apksig
smali, baksmali, dexlib2
guava
jadx
textwarrior
axml
unapkm
imagetracerandroid
ZipAligner-for-Android
Dex2Jar_Android_2x
AndroidX
AndroidSVG
PhotoView

How to embed C programs in an Android application

I'm working on a software designed to compile and run on Linux. I was recently asked to cross-compile it for Android using the NDK, which was surprisingly straightforward.
To do this quickly, we just compiled the source, without writing any JNI wrapper. I copied the resulting binaries with adb push to an emulator (rooted) and ran it from the adb shell. Everything worked fine.
Now my question is: How can I embed those binaries somehow in an android application and run them (they act like services and must run in the background) ?
I'd like to avoid changing the existing code to support a JNI interface, but writting a small JNI/C code that just exec the other binaries is fine.
Bonus question: once embedded, is there a way to know the path of the installed binaries ?
http://www.ibm.com/developerworks/opensource/tutorials/os-androidndk/index.html
i found the nice tutorial in IBM developersworks about Android NDK

Using mixed Java/Ruby code in an Android app?

Is it possible to write part of the Android app in Ruby and then, using JRuby and Android Tools, compile the code to run on Dalvik VM? I don't need any run-time support for interpreting Ruby code, just to run one Ruby module. It would be nice if the compiled code is minimal, to not drag along the entire Ruby standard library.
How to configure some IDE (like Eclipse) and Android Tools to support that?
See these/three/answers (on stackoverflow) regarding #CharlesOliverNutter 's Ruby-like Mirah language that runs on the Dalvik VM.
Have a look at Ruboto.
Some time ago I was working on a debug lib for android that was using it but I got out of time. I looked at the ruboto-irb source code a lot.
The major downside I came up is that it needed to have ruboto installed on the device.

Getting started with JUCE for Android

I need to start building an Android app that uses the JUCE libraries. I'm reading the web site and trying to figure stuff out.
I tried installing JUCE on an Ubuntu 11.04 system, and when I built the IntroJucer app, the menus don't work right (they flash open when I click with the mouse but then disappear). Can a JUCE app for Android be built on Mac OS X, or even Windows?
If you are using JUCE to build Android apps, please give me any advice you can.
Yes, a Juce app can be written for Android using either OS X (XCode 4) or Windows (Microsoft Visual Studio 2008 and higher). You also have the option of using the Eclipse IDE on either platform.
At the time you posted, Juce was undergoing a major overhaul and the IntroJucer might not have been as stable as it needed to be, especially on systems other than OS X or Windows. You should look into it again. IntroJucer is not required to build a Juce Application (although it can make things easier).
I suggest you first build the Juce Demo application for your platform. If Ubuntu is giving you trouble, try OS X or Windows first. Once you have the Juce Demo running you can move on to IntroJucer. If that works, then try compiling Juce Demo for Android. Your questions can be answered in the Android Juce Forum:
http://rawmaterialsoftware.com/viewforum.php?f=13
Here is what I have figured out now that I have been working with this stuff for a bit.
All of this is based on the most recent "stable" release of JUCE, which is about ten months old as I write this. It is quite possible that things have changed (for the better!) in more bleeding-edge releases of JUCE, and when I get a chance I will try a newer JUCE.
The best platform is Mac OS X. When I tried Linux I had some issues with Eclipse not working; I still prefer Linux so I'm going to go back and try again, but on Windows and Mac I had no Eclipse troubles.
Start by installing the Android SDK, and running the updater to grab all the updates. Also install the Android NDK, and Eclipse. In Eclipse, install the ADT plugin.
JUCE sets up an Ant build file that will build all the C++ code for you, automatically. You need to not mess with this. I had a problem where there was a task called "setup" and Ant didn't know how to resolve it; the solution was to delete the "setup" task and not touch anything else. When I was trying to figure out how to solve this issue, I found suggestions here on StackOverflow to run this command: android update project --path . DO NOT DO THIS for JUCE. This re-writes your build.xml file and the special JUCE stuff to build the C++ code disappears; then you build and you get a tiny .APK file (about 10 KB) that contains only the Java setup code and no compiled C++, and does not work. So, just to be clear, the solution to the "setup" build problem is to delete that build task and touch nothing else, and not to completely replace your build.xml file.
The JUCE build process relies on a Bash shell script to do some work. On Mac OS X this works great; on Windows, the build fails with an error from CreateProcess() because CreateProcess() doesn't understand Bash shell scripts. It should be possible to edit this and make it work, but out of the box it works perfectly on Mac OS X.
For testing your code on an Android device, you must sign your code. Eclipse makes it easy to build either signed or unsigned .APK file, but the unsigned file is nearly useless. The only thing you can do with an unsigned .APK is run it in the emulator.
Once I had all the above stuff correct, I had no problems with building the JUCE app for Android.

Compiling for Android on Android

This is more of a theoretical questions, one which I may not have thought through properly, but is it POSSIBLE to compile an Android app ON an Android device?
As in, write up the sourcecode on the device, compile, test and deploy it, without having to use an other OS for any part of the process?
In theory, yes. In practice, this is a lot of work. Compiling an android app involves a lot of separate tools, like the full-blown JDK, and a lot of other tools sign the resulting JAR and package it into an APK. That would have to be ported to Android, which is a major undertaking.

Categories

Resources