Kaydet (Commit) 05d0bdbb authored tarafından Tor Lillqvist's avatar Tor Lillqvist

Minor edits

üst b07d2418
...@@ -7,15 +7,16 @@ files, so that they run in a sandboxed environment like that of ...@@ -7,15 +7,16 @@ files, so that they run in a sandboxed environment like that of
whatever eventual end-user Android apps there will be that use LO whatever eventual end-user Android apps there will be that use LO
code. code.
Sure, we could quite easily build unit tests as plain Android Sure, we could quite easily build unit tests as plain Linux
executables, push them to the device or emulator with adb and run them executables (built against the Android libraries, of course, not
from adb shell, but that would not be a good test as the environment GNU/Linux ones), push them to the device or emulator with adb and run
would be completely different. They would run as root, and not them from adb shell, but that would not be a good test as the
sandboxed. We have no intent to require LibreOffice code to be used environment such processs run in is completely different from that in
only on "rooted" devices etc. which real end-user apps with GUI etc run. We have no intent to
require LibreOffice code to be used only on "rooted" devices etc.
All Android apps are basically Java programs. They run "in" a Dalvik All Android apps are basically Java programs. They run "in" a Dalvik
virtual machine. Yes, you can also have apps where your code is only virtual machine. Yes, you can also have apps where *your* code is only
native code, written in a compiled language like C or C++. But also native code, written in a compiled language like C or C++. But also
also such apps are actually started by system-provided Java also such apps are actually started by system-provided Java
bootstrapping code (NativeActivity) running in a Dalvik VM. bootstrapping code (NativeActivity) running in a Dalvik VM.
...@@ -30,13 +31,13 @@ out how to manually construct an .apk that is properly signed so that ...@@ -30,13 +31,13 @@ out how to manually construct an .apk that is properly signed so that
it will run in the emulator. (I don't have any Android device...) I it will run in the emulator. (I don't have any Android device...) I
only know how to let the SDK Ant tooling do it... only know how to let the SDK Ant tooling do it...
A LO Android app would work would something like this: At this stage, the plan is that a LO Android app will work would
something like this:
We have a top Java bootstrapping class We have a Java class org.libreoffice.android.Bootstrap that that loads
org.libreoffice.android.Bootstrap that loads a small helper native a small helper native library liblo-bootstrap.so that implements JNI
library liblo-bootstrap.so that implements JNI wrappers for dlopen(), wrappers for dlopen(), dlsym(), and ELF header scanning coresponding
dlsym(), and ELF header scanning coresponding to looking for DT_NEEDED to looking for DT_NEEDED entries with readelf.
entries with readelf.
The Java code then loads the actual native library that corresponds to The Java code then loads the actual native library that corresponds to
the LibreOffice-related "program" we want to run. For unit tests, a the LibreOffice-related "program" we want to run. For unit tests, a
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment