Hi boinc_dev,

In the past week I have continued digging into architecture aspects of
BOINC on Android in more detail. Mostly about topics discussed at
http://boinc.berkeley.edu/trac/wiki/AndroidBoinc. I want to figure out
what is possible and where the limitations are, regarding my GSoC
proposal.

I learned that the BOINC client downloads project apps in order to
compute tasks. This specially caught my attention, because I thought
downloading code at run-time could be problematic.

In order to examine the problems porting the BOINC client to Android
more detailed, I have created a sample application which I would like
to share with you if there is interest.

I tested the following features on my (unrooted) Sony X10 and the emulator:

a) Cross-compilation
There is a cross-compiled native library for Unix/ARM. Compiled on my
Windows machine using the build script supplied with the Android NDK.
This would also be possible from x86 Macs or Linux computers. I read
that it’s also possible to create a customized stand-alone tool chain
with the NDK, but have not tried it yet.

b) JNI
Function of this native library get invoked from Java using JNI. I
used javah from the JDK to create the headers.

c) Dynamic shared libraries
Most important, it downloads a native library from a web source, saves
it to the application’s Internal Storage space, chmods it to
executable and invokes a sample function of this library using JNI.
All at run-time. I am quite surprised myself that this actually works.
It makes it impossible for Google to examine an Application’s behavior
before approving it to the MarketPlace?!

-Joachim
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to