[Libreoffice-commits] .: android/Bootstrap android/qa README.cross
Tor Lillqvist
tml at kemper.freedesktop.org
Wed Jan 11 03:49:33 PST 2012
README.cross | 12 ------
android/Bootstrap/src/org/libreoffice/android/Bootstrap.java | 22 +++++++++--
android/qa/sc/Makefile | 4 +-
3 files changed, 22 insertions(+), 16 deletions(-)
New commits:
commit 11c9125c28738ce99e502991523829756ec95326
Author: Tor Lillqvist <tlillqvist at suse.com>
Date: Wed Jan 11 13:46:35 2012 +0200
Work around http://code.google.com/p/android/issues/detail?id=23351
diff --git a/README.cross b/README.cross
index 709838b..45e1888 100644
--- a/README.cross
+++ b/README.cross
@@ -395,18 +395,6 @@ window, and you probably also want to have set the stdout and stderr
of app processes to be redirected to logcat ("adb shell stop; adb
shell setprop log.redirect-stdio true; adb shell start").
-Unfortunately you might notice that the command line passed to "adb
-shell am start" is too long (actually, not "command line" as such, but
-the length of the so-called "extra" arguments passed to the action, or
-something like that, see Android bug
-http://code.google.com/p/android/issues/detail?id=23351 , so you need
-to shorten it somehow... for instance by creating a symlink to
-/data/data/org.libreoffice.android.qa.sc in /system: "adb remount; adb
-shell ln -s /data/data/org.libreoffice.android.qa.sc /system/sc" and
-then use that shorter path /system/sc snippet in all places instead of
-the longer /data/data/org.libreoffice.android.qa.sc on the "adb shell
-am start" command line.
-
To debug, do manually what "make run" would do, adding args "-e
lo-main-delay 20" to the command line, and when the app has started,
run ndk-gdb. Unfortunately the gdb in NDK r7 is broken, use the one in
diff --git a/android/Bootstrap/src/org/libreoffice/android/Bootstrap.java b/android/Bootstrap/src/org/libreoffice/android/Bootstrap.java
index 91f965e..9cd9c3b 100644
--- a/android/Bootstrap/src/org/libreoffice/android/Bootstrap.java
+++ b/android/Bootstrap/src/org/libreoffice/android/Bootstrap.java
@@ -37,6 +37,9 @@ import android.util.Log;
import fi.iki.tml.CommandLine;
+import java.io.File;
+import java.util.Scanner;
+
// We override NativeActivity so that we can get at the intent of the
// activity and its extra parameters, that we use to tell us what
// actual LibreOffice "program" to run. I.e. something that on desktop
@@ -111,9 +114,22 @@ public class Bootstrap extends NativeActivity
// Get "command line" to pass to the LO "program"
String cmdLine = getIntent().getStringExtra("lo-main-cmdline");
- if (cmdLine == null)
- cmdLine = "/data/data/org.libreoffice.android/lib/libqa_sal_types.so";
-
+ if (cmdLine == null) {
+ String indirectFile = getIntent().getStringExtra("lo-main-indirect-cmdline");
+
+ if (indirectFile != null) {
+ try {
+ // Somewhat stupid but short way to read a file into a string
+ cmdLine = new Scanner(new File(indirectFile), "UTF-8").useDelimiter("\\A").next();
+ }
+ catch (java.io.FileNotFoundException e) {
+ Log.i(TAG, String.format("Could not read %s: %s",indirectFile, e.toString()));
+ }
+ }
+
+ if (cmdLine == null)
+ cmdLine = "/data/data/org.libreoffice.android/lib/libqa_sal_types.so";
+ }
// argv[0] will be replaced by android_main() in lo-bootstrap.c by the
// pathname of the mainLibrary.
cmdLine = "dummy-program-name " + cmdLine;
diff --git a/android/qa/sc/Makefile b/android/qa/sc/Makefile
index 450b7ed..c400c72 100644
--- a/android/qa/sc/Makefile
+++ b/android/qa/sc/Makefile
@@ -162,7 +162,9 @@ uninstall:
adb uninstall $(APP_PACKAGE)
run:
- adb shell am start -n $(APP_PACKAGE)/$(BOOTSTRAP) -e lo-main-library libcppunittester -e lo-main-cmdline "$(APP_DATA_PATH)/lib/libtest_sc_ucalc.so --headless --protector libunoexceptionprotector.so unoexceptionprotector '-env:CONFIGURATION_LAYERS=xcsxcu:file:///assets/xml/registry' '-env:UNO_TYPES=file:///assets/bin/udkapi.rdb file:///assets/bin/types.rdb' '-env:UNO_SERVICES=file:///assets/xml/ure/services.rdb file:///assets/ComponentTarget/framework/util/fwk.component file:///assets/ComponentTarget/i18npool/util/i18npool.component file:///assets/ComponentTarget/sfx2/util/sfx.component file:///assets/ComponentTarget/unoxml/source/service/unoxml.component file:///assets/ComponentTarget/configmgr/source/configmgr.component file:///assets/xml/ucb1.component file:///assets/xml/ucpfile1.component' -env:URE_INTERNAL_LIB_DIR=file://$(APP_DATA_PATH)/lib -env:LO_LIB_DIR=file://$(APP_DATA_PATH)/lib"
+ echo "$(APP_DATA_PATH)/lib/libtest_sc_ucalc.so --headless --protector libunoexceptionprotector.so unoexceptionprotector '-env:CONFIGURATION_LAYERS=xcsxcu:file:///assets/xml/registry' '-env:UNO_TYPES=file:///assets/bin/udkapi.rdb file:///assets/bin/types.rdb' '-env:UNO_SERVICES=file:///assets/xml/ure/services.rdb file:///assets/ComponentTarget/framework/util/fwk.component file:///assets/ComponentTarget/i18npool/util/i18npool.component file:///assets/ComponentTarget/sfx2/util/sfx.component file:///assets/ComponentTarget/unoxml/source/service/unoxml.component file:///assets/ComponentTarget/configmgr/source/configmgr.component file:///assets/xml/ucb1.component file:///assets/xml/ucpfile1.component' -env:URE_INTERNAL_LIB_DIR=file://$(APP_DATA_PATH)/lib -env:LO_LIB_DIR=file://$(APP_DATA_PATH)/lib" >cmdline
+ adb push cmdline $(APP_DATA_PATH)/cmdline
+ adb shell am start -n $(APP_PACKAGE)/$(BOOTSTRAP) -e lo-main-library libcppunittester -e lo-main-indirect-cmdline "$(APP_DATA_PATH)/cmdline"
clean:
ant clean
More information about the Libreoffice-commits
mailing list