Android-specific notes Note that this document has not necessarily been updated to match reality... * Getting something running on an emulated device Create an AVD in the android UI, don't even try to get the data partition size right in the GUI, that is doomed to producing and AVD that doesn't work. Instead start it from the console: LD_LIBRARY_PATH=$(pwd)/lib emulator-arm -avd -partition-size 500 In order to have proper acceleration, you need the 32-bit libGL.so: sudo zypper in Mesa-libGL-devel-32bit Where is the literal name of the AVD that you entered. Then: make cmd cmd=bash cd android/qa/sc make clean all install make run ; adb shell logcat And if all goes well - you should have some nice unit test output to enjoy. After a while of this loop you might find that you have lost a lot of space on your emulator's or device's /data volume. If using the emulator, you can do: adb shell stop; adb shell start but on a (non-rooted) device you probably just need to reboot it. On the other hand, this phenomenon might not happen on actual devices. and continue onwards & upwards. * What about using a real device? That works fine, too. You won't be able to use the "adb shell stop" and "adb shell start" commands to do anything, as far as I know. But don't seem to be necessary on a real device anyway? * Debugging Debugging is fun, the default NDK gdb (in v7) is busted, you need to download a new one from: http://code.google.com/p/mingw-and-ndk/ Even this 'fixed' gdb is broken in the way that it can see symbols only for shlibs that were already loaded when the debuggee was attached, so you need to carefully guess where to put: fprintf(stderr, "Sleeping NOW!\n"); ::sleep(20); into the code; and when you see that in logcat, you have time to run: ndk-gdb and it will attach the process. thread 12 # or perhaps 13 backtrace may show you the native code trace. In r8b the ndk-gdb seems to work a bit better, and I think it isn't necessary to use the mingw-and-ndk ndb-gdb any longer. * Common Errors / Gotchas lo_dlneeds: Could not read ELF header of /data/data/org.libreoffice...libfoo.so This (most likely) means that the install quietly failed, and that the file is truncated; check it out with adb shell ls -l /data/data/.... * Detailed explanation Unit tests are the first thing we want to run on Android, to get some idea how well, if at all, the basic LO libraraies work. We want to build even unit tests as normal Android apps, i.e. packaged as .apk files, so that they run in a sandboxed environment like that of whatever eventual end-user Android apps there will be that use LO code. Sure, we could quite easily build unit tests as plain Linux executables (built against the Android libraries, of course, not GNU/Linux ones), push them to the device or emulator with adb and run them from adb shell, but that would not be a good test as the environment such processs run in is completely different from that in 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 virtual machine. Yes, you can also have apps where all *your* code is native code, written in a compiled language like C or C++. But also also such apps are actually started by system-provided Java bootstrapping code (NativeActivity) running in a Dalvik VM. Such a native app (or actually, "activity") is not built as a executable program, but as a shared object. The Java NativeActivity bootstrapper loads that shared object with dlopen. Anyway, our current "experimental" apps (DocumentLoader, LibreOffice4Android and LibreOfficeDesbktop) are not based on NativeActivity any more. They have normal Java code for the activity, and just call out to a single, app-specific native library (called liblo-native-code.so) to do all the heavy lifting. labora/cp-4.4'>distro/collabora/cp-4.4 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Expand)Author
2015-05-15window ftbfs: MetaActionType::TRANSPARENT->MetaActionType::TransparentCaolán McNamara
2015-05-15convert META_*_ACTION constants to scoped enumNoel Grandin
2015-05-10Use IMPL_[STATIC_]LINK_NOARG where applicableStephan Bergmann
2015-05-10NOINSTANCE is implied now in IMPL_STATIC_LINK...Stephan Bergmann
2015-05-08Clean up checks of sal_Bool valuesStephan Bergmann
2015-05-05typo: strech -> stretchAndras Timar
2015-04-29Remove unnecessary STATIC_LINK macroStephan Bergmann
2015-04-27More loplugin:simplifyboolStephan Bergmann
2015-04-20Use OFFICEOTRON/ODFVALIDATOR determined by configureStephan Bergmann
2015-04-01Replace remaining getCppuType et al with cppu::UnoTypeStephan Bergmann
2015-03-25TyposJulien Nabet
2015-03-24loplugin:constantfunction: testNoel Grandin
2015-03-04V813: Decreased performanceCaolán McNamara
2015-01-20Some more loplugin:cstylecast: testStephan Bergmann
2015-01-07fdo#84938: convert STREAM_ #defines to 'enum class'Noel Grandin
2014-12-19Let MetafileXmlDump::dumpAndParse() take a const GDIMetaFileMiklos Vajna
2014-12-18test: Use appropriate OUString functions on string constantsStephan Bergmann
2014-12-18test: Use appropriate OUString functions on string constantsStephan Bergmann
2014-12-18XmlTestTools: fix conversion from UTF-8 xmlChar strings to OUStringStephan Bergmann
2014-12-10CppunitTest --headless is not the same as soffice --headlessStephan Bergmann
2014-11-28Unittest for autocorrect in writerDaniel Sikeler
2014-11-12Fix common typos. No automatic tools. Handmade…Andrea Gelmini
2014-11-12perfcheck instrument existing test : replaceAllLaurent Godard
2014-11-06Revert "use the new OUString::fromUtf8 method"Stephan Bergmann
2014-11-06use the new OUString::fromUtf8 methodNoel Grandin
2014-10-29Improve framework for callgrind performance unit testsMatúš Kukan
2014-10-21sc: fix temp file leak in ScTableSheetsObjMichael Stahl
2014-10-13create a macro library for implementing bit-flags typesNoel Grandin
2014-09-30sc: ensure global variables in tests are cleared before shutdownMichael Stahl
2014-09-30Factor out duplicated code to XmlTestTools::assertXPathNoAttribute()Miklos Vajna
2014-09-23Include name of document in CPPUNIT_ASSERT msgsStephan Bergmann
2014-09-18fdo#82577: Handle FontNoel Grandin
2014-09-02coverity#1233488 Unchecked dynamic_castCaolán McNamara
2014-08-28parseXml should return xmlDocPtr instead of htmlDocPtrTomaž Vajngerl
2014-08-21vcl: convert push flags to type-safe enum-like classNoel Grandin
2014-08-17Fix another: reference to 'Primitive2DSequence' is ambiguousMatteo Casalin
2014-08-17Fix: reference to 'Primitive2DSequence' is ambiguousMatteo Casalin
2014-08-17loplugin:passstuffbyref (Primitive2DSequence)Matteo Casalin
2014-08-16initial implementation of XML dump for Primitive2DSequenceTomaž Vajngerl
2014-08-16XmlWriter: simplify and take SvStream* as inputTomaž Vajngerl
2014-08-16mtfxmldump: move XML writing into its own functionTomaž Vajngerl
2014-08-16No need to write 'Tomaž Vajngerl
2014-08-11XStyleLoader2 : enhance unit test to PageStyleLaurent Godard
2014-08-08fix ambiguity in argumentMarkus Mohrhard
2014-08-08XStyleLoader2 loadStylesFromDocument - unit testsLaurent Godard
2014-08-06Improve test failure outputStephan Bergmann