Mobility GPS plugin -- Fail to load custom library
Frameworks
frameworks at qlands.com
Thu Jun 9 11:04:06 CEST 2011
Hi,
I pulled the experimental branch (2011-06-09) but I still cannot load my
testing GPS library:
./..
D/dalvikvm( 408): Trying to load lib
/data/local/qt/plugins/platforms/android/libandroid-8.so 0x44ede2c0
D/dalvikvm( 408): Added shared lib
/data/local/qt/plugins/platforms/android/libandroid-8.so 0x44ede2c0
I/Qt ( 408): qt start
*D/dalvikvm( 408): Trying to load lib
/mnt/sdcard/Android/data/org.ilri.*/*/GPSTest/////libGPSInterface//.so
0x44ede2c0
I/dalvikvm( 408): Unable to
dlopen(/mnt/sdcard/Android/data/org.ilri.//GPSTest/////libGPSInterface//.so):
Cannot load library: load_segments[907]: 33 failed to map segment from
'//libGPSInterface/*/*.so' @ 0x81900000 (0x00003470). p_vaddr=0x00000000
p_offset=0x00000000*
..../
I though It was because I was not defining the PRO in the right way..
Here is the pro that builds the library:
/# -------------------------------------------------
# Project created by QtCreator 2010-04-30T11:56:42
# -------------------------------------------------
QT += sql
TARGET = GPSInterface
CONFIG += qt plugin dll
TEMPLATE = lib
DEFINES = QT_STATICPLUGIN
SOURCES += \
../../interfaces.cpp
HEADERS += ../../interfaces.h
#DestDir is on my linux system then I copy the so into the virtual SD Card
DESTDIR = /mnt/sdcard/Android/data/org.ilri.GPSTest/
I added the code the tries to load my library into QTApplication.java
just after loading the QT libraries:
/...
try
{
File str;
String storage;
str = Environment.getExternalStorageDirectory();
storage = str.getAbsolutePath();
File f = new
File(storage+"/Android/data/org.ilri.GPSTest/libGPSInterface.so");
if (f.exists())
System.load(storage+"/Android/data/org.ilri.GPSTest/libGPSInterface.so");
}
catch (SecurityException e)
{
Log.i(QtTAG, "Security: Can't load libGPSInterface.so", e);
}
catch (UnsatisfiedLinkError e)
{
Log.i(QtTAG, "Link: Can't load libGPSInterface.so", e);
}
.../
Any idea what do I need to do or doing wrong?
Many thanks,
Carlos.
On 06/03/2011 05:51 PM, BogDan wrote:
> Done, please pull "experimental" branch of android-qt
> (android-lighthouse) repo !
>
> Cheers,
> BogDan.
>
> >________________________________
> >From: Frameworks <frameworks at qlands.com>
> >To: "necessitas-devel at kde.org" <necessitas-devel at kde.org>
> >Sent: Friday, June 3, 2011 5:43 PM
> >Subject: Mobility GPS plugin -- Fail to load custom library
> >
> >
> >Hi,
> >
> >This is Carlos Quiros.
> >
> >I am working on a mobility GPS plugin. For this I am playing around
> loading libraries. I created the library with the same Necessitas QT
> creator that I use in the testing example. So I create this library
> libIMPInterface.so. This has the following pro:
> >
> >QT += sql
> >TARGET = $$qtLibraryTarget(Interface)
> >TEMPLATE = lib
> >SOURCES += \
> > ../../interfaces.cpp
> >HEADERS += ../../interfaces.h
> >INCLUDEPATH += ../../
> >DESTDIR = /sdcard/Android/data/org.ilri.GPSTest
> >
> >
> >Note:
> >DESTDIR for now is fixed... Because is a test
> >
> >I saw that QApplication.java load the QT libraries using:
> System.load(libraries[i]) So as an example I added my custom library
> like:
> >
> >try
> > {
> >
> System.load("/sdcard/Android/data/org.ilri.GPSTest/libInterface.so");
> //This is fix... I am just testing loading my GPS library!
> > }
> > catch (SecurityException e)
> > {
> > Log.i(QtTAG, "Can't load '" + "'", e);
> > }
> > catch (Exception e)
> > {
> > Log.i(QtTAG, "Can't load '" + "'", e);
> > }
> >
> >But I am getting the following error:
> >
> >D/dalvikvm( 292): Trying to load lib
> /sdcard/Android/data/org.ilri.GPSTest/libInterface.so 0x44edea38
> >I/dalvikvm( 292): Unable to
> dlopen(/sdcard/Android/data/org.ilri.GPSTest/libInterface.so): Cannot
> load library: load_segments[907]: 33 failed to map segment from
> 'libInterface.so' @ 0x80b00000 (0x00003e28). p_vaddr=0x00000000
> p_offset=0x00000000
> >
> >And then of course I get:
> >
> >E/AndroidRuntime( 292): java.lang.UnsatisfiedLinkError: Library
> /sdcard/Android/data/org.ilri.IMPACTLight/libIMPInterface.so not found
> >
> >
> >Any idea what I am doing wrong? Do the libraries need to have any
> special signature/form for the Dalvik VM to load them? Or I cannot use
> Necessitas QT creator to make libraries?
> >
> >Many thanks guys and girls!
> >
> >Carlos.
> >
> >_______________________________________________
> >Necessitas-devel mailing list
> >Necessitas-devel at kde.org
> >https://mail.kde.org/mailman/listinfo/necessitas-devel
> >
> >
> >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/necessitas-devel/attachments/20110609/74444f7f/attachment-0001.htm
More information about the Necessitas-devel
mailing list