The Following 36 Users Say Thank You to Art-O For This Useful Post: | ||
4lpha, ajalkane, almamo, B-RUNO, Bundyo, don_falcone, hrbani, jalyst, kent_autistic, klinglerware, Kozzi, Loginin, Maj3stic, mariusmssj, meemorph, melisa queen, MINKIN2, misiak, mosiomm, myname24, nbedford, nice_2000, nikname, nonikhanna, noxl, OVK, PanzerSajt, quailstorm, ranbaxy, Sourav.dubey, sunyakram, thp, tigas, Wikiwide, Wreck, xes |
![]() |
2012-12-14
, 04:22
|
Posts: 54 |
Thanked: 47 times |
Joined on Dec 2012
|
#2
|
The Following User Says Thank You to xvan For This Useful Post: | ||
![]() |
2012-12-14
, 15:05
|
Posts: 18 |
Thanked: 94 times |
Joined on Dec 2012
|
#3
|
The modules work the same as the dead "iced-robot" project, on top of the jvm?
Or the modules reimplement small Dalvik pices?
public native void nativeInput(int paramInt1, float paramFloat1, float paramFloat2, int paramInt2);
typedef void (*angrybirds_input_t)(JNIEnv *env, jobject obj, jint paramInt1, jfloat paramFloat1, jfloat paramFloat2, jint paramInt2) SOFTFP; self->priv->native_input = (angrybirds_input_t)LOOKUP_M("MyRenderer_nativeInput");
static void angrybirds_input(struct SupportModule *self, int event, int x, int y, int finger) { self->priv->native_input(ENV_M, GLOBAL_M, event, x, y, finger); }
![]() |
2012-12-14
, 15:51
|
Posts: 123 |
Thanked: 91 times |
Joined on Apr 2012
|
#4
|
The Following User Says Thank You to evujumenuk For This Useful Post: | ||
![]() |
2012-12-14
, 16:11
|
Posts: 18 |
Thanked: 94 times |
Joined on Dec 2012
|
#5
|
Does that mean that apkenv isn't a compatibility layer, but a framework that doesn't completely obviate the need for porting, even if it does, like, 90% of it?
![]() |
2012-12-14
, 18:10
|
|
Posts: 124 |
Thanked: 125 times |
Joined on Sep 2010
|
#7
|
The Following User Says Thank You to B-RUNO For This Useful Post: | ||
![]() |
2012-12-14
, 19:31
|
Posts: 18 |
Thanked: 94 times |
Joined on Dec 2012
|
#8
|
thanks work as expected . but for newer version it say missing dependencies (same as original apkenv )
Sorry Art-O but doesnt the wrapper-generator extract all the infomation required to build the modules? Sorry if I'm wrong or if I didnt understand the whole point of the thead.
![]() |
2012-12-14
, 20:09
|
Posts: 18 |
Thanked: 94 times |
Joined on Dec 2012
|
#10
|
angry birds 3.0 and angry birds seasons 3.1 and yes the new source version from git .
The Following User Says Thank You to Art-O For This Useful Post: | ||
![]() |
Tags |
apkenv |
Thread Tools | |
|
I started this ApkEnv support module development thread so that maybe we get more devs working on this.
Original thread: http://talk.maemo.org/showthread.php?t=87496
Web page: http://thp.io/2012/apkenv/
This is what I have learned from studying ApkEnv sources, please correct me if I am wrong.
First little about ApkEnv and these support modules, what are they and why are they needed.
ApkEnv is not Java VM so it can't run programs that are made completely with Java JDK.
Some programs however are made with NDK that allows programmers to develop programs with C language but even these programs need small java code that handles all Android related stuff for example OpenGL, touch screen, network and audio related code.
ApkEnv can run this native C code but it can't run this small Java program what handles all important stuff. This is where support modules come into play.
APKs are basically zip files and Java code that needs to be ported to these modules is inside classes.dex file.
Here is pretty good info how to read this file:
http://stackoverflow.com/questions/1...ava-sourcecode
I have written modules for Angry Birds Space and Fruit Ninja (attached)
which both lack sound support and I hope somebody could help with these].I would like to remind people before they start spamming "[insert APK here] doesn't work" that if there is no support module for APK file it probably doesn't work.
PS. If you want to find out if APK is made with NDK then check if it contains lib/armeabi folder. If folder exists then there is hope that it can be run under ApkEnv and proper module.
Edit: Both Angry Birds and Fruit Ninja got sound support now! (attachments updated) Thanks to thp for support.
From now on I upload my modules to https://github.com/Art-O/apkenv and make pull request to thp git when I think they are ready
Next I start working on my favourite Android & desktop game World of Goo (that one seems much more challenging than AB or FN)
Art-O
Last edited by Art-O; 2012-12-22 at 18:34. Reason: Updated Fruit Ninja module