Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
a9a50cd9
Kaydet (Commit)
a9a50cd9
authored
Nis 02, 2012
tarafından
Tor Lillqvist
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Refactor where patch_libgnustl_shared() and extract_files() are called
üst
2906a654
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
28 additions
and
9 deletions
+28
-9
Bootstrap.java
android/Bootstrap/src/org/libreoffice/android/Bootstrap.java
+14
-1
DocumentLoader.java
.../src/org/libreoffice/android/examples/DocumentLoader.java
+0
-3
lo-bootstrap.c
sal/android/lo-bootstrap.c
+14
-5
No files found.
android/Bootstrap/src/org/libreoffice/android/Bootstrap.java
Dosyayı görüntüle @
a9a50cd9
...
...
@@ -38,6 +38,7 @@ import android.util.Log;
import
fi.iki.tml.CommandLine
;
import
java.io.File
;
import
java.io.InputStream
;
import
java.util.Arrays
;
import
java.util.Scanner
;
...
...
@@ -73,7 +74,10 @@ public class Bootstrap extends NativeActivity
// To be called after you are sure libgnustl_shared.so
// has been loaded
public
static
native
void
patch_libgnustl_shared
();
static
native
void
patch_libgnustl_shared
();
// Extracts files in the .apk that need to be extraced into the app's tree
static
native
void
extract_files
();
// Wrapper for getpid()
public
static
native
int
getpid
();
...
...
@@ -97,6 +101,8 @@ public class Bootstrap extends NativeActivity
// (contentbroker.cxx), also this called indirectly through the lo-bootstrap library
public
static
native
void
initUCBHelper
();
// This setup() method is called 1) in apps that use *this* class as their activity from onCreate(),
// and 2) should be called from other kinds of LO code using apps.
public
static
void
setup
(
Activity
activity
)
{
String
dataDir
=
null
;
...
...
@@ -114,6 +120,13 @@ public class Bootstrap extends NativeActivity
if
(!
setup
(
dataDir
,
activity
.
getApplication
().
getPackageResourcePath
(),
llpa
))
return
;
// We build LO code against the shared GNU C++ library
dlopen
(
"libgnustl_shared.so"
);
// and need to patch it.
patch_libgnustl_shared
();
// Extract files from the .apk that can't be used mmapped directly from it
extract_files
();
}
@Override
...
...
android/experiments/DocumentLoader/src/org/libreoffice/android/examples/DocumentLoader.java
Dosyayı görüntüle @
a9a50cd9
...
...
@@ -52,9 +52,6 @@ public class DocumentLoader
Bootstrap
.
putenv
(
"SAL_LOG=yes"
);
Bootstrap
.
dlopen
(
"libgnustl_shared.so"
);
Bootstrap
.
patch_libgnustl_shared
();
// Load a lot of shlibs here explicitly in advance because that
// makes debugging work better, sigh
Bootstrap
.
dlopen
(
"libvcllo.so"
);
...
...
sal/android/lo-bootstrap.c
Dosyayı görüntüle @
a9a50cd9
...
...
@@ -1518,7 +1518,7 @@ extract_files(const char *prefix)
lo_apk_closedir
(
tree
);
}
//
public
static native void patch_libgnustl_shared();
// static native void patch_libgnustl_shared();
__attribute__
((
visibility
(
"default"
)))
void
...
...
@@ -1531,6 +1531,19 @@ Java_org_libreoffice_android_Bootstrap_patch_1libgnustl_1shared(JNIEnv* env,
patch_libgnustl_shared
();
}
// static native void extract_files();
__attribute__
((
visibility
(
"default"
)))
void
Java_org_libreoffice_android_Bootstrap_extract_1files
(
JNIEnv
*
env
,
jobject
clazz
)
{
(
void
)
env
;
(
void
)
clazz
;
extract_files
(
UNPACK_TREE
);
}
/* Android's JNI works only to libraries loaded through Java's
* System.loadLibrary(), it seems. Not to functions loaded by a dlopen() call
* in native code. For instance, to call a function in libvcllo.so, we need to
...
...
@@ -1666,10 +1679,6 @@ android_main(struct android_app* state)
lo_main_argv
[
0
]
=
lo_main_info
.
dli_fname
;
}
patch_libgnustl_shared
();
extract_files
(
UNPACK_TREE
);
lo_main
(
lo_main_argc
,
lo_main_argv
);
fprintf
(
stderr
,
"exit android_main
\n
"
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment