Qt Android client for Postresql
-
hello. a newbie here so pardon me foor noob question but can you please tell me if i can use these pre-built libraries to my project or i'll have to build myself? next problem is that i don't know how to add these .so libraries to my project. I tried to add this line in .pro file but that didn't work. the apk doesn't include this lib in the "lib" folder when seen using winRaR
@LIBS += -L "e:\sqlib" -libpq.so@ -
hello. a newbie here so pardon me foor noob question but can you please tell me if i can use these pre-built libraries to my project or i'll have to build myself? next problem is that i don't know how to add these .so libraries to my project. I tried to add this line in .pro file but that didn't work. the apk doesn't include this lib in the "lib" folder when seen using winRaR
@LIBS += -L "e:\sqlib" -libpq.so@ -
this is the application output:
@I/Qt ( 7822): qt start
D/dalvikvm( 7822): Trying to load lib /data/data/org.qtproject.example.btchat/lib/libpq.so 0x411e6f98
W/System.err( 7822): java.lang.reflect.InvocationTargetException
W/System.err( 7822): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 7822): at java.lang.reflect.Method.invoke(Method.java:511)
W/System.err( 7822): at org.qtproject.qt5.android.bindings.QtActivity.loadApplication(QtActivity.java:245)
W/System.err( 7822): at org.qtproject.qt5.android.bindings.QtActivity.startApp(QtActivity.java:655)
W/System.err( 7822): at org.qtproject.qt5.android.bindings.QtActivity.onCreate(QtActivity.java:895)
W/System.err( 7822): at android.app.Activity.performCreate(Activity.java:5008)
W/System.err( 7822): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
W/System.err( 7822): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
W/System.err( 7822): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
W/System.err( 7822): at android.app.ActivityThread.access$600(ActivityThread.java:130)
W/System.err( 7822): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
W/System.err( 7822): at android.os.Handler.dispatchMessage(Handler.java:99)
W/System.err( 7822): at android.os.Looper.loop(Looper.java:137)
W/System.err( 7822): at android.app.ActivityThread.main(ActivityThread.java:4745)
W/System.err( 7822): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 7822): at java.lang.reflect.Method.invoke(Method.java:511)
W/System.err( 7822): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
W/System.err( 7822): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
W/System.err( 7822): at dalvik.system.NativeStart.main(Native Method)
W/System.err( 7822): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1306]: 36 cannot locate 'sigemptyset'...
W/System.err( 7822): at java.lang.Runtime.load(Runtime.java:340)
W/System.err( 7822): at java.lang.System.load(System.java:521)
W/System.err( 7822): at org.qtproject.qt5.android.QtNative.loadBundledLibraries(QtNative.java:156)
W/System.err( 7822): at org.qtproject.qt5.android.QtActivityDelegate.loadApplication(QtActivityDelegate.java:430)
W/System.err( 7822): ... 19 more@ -
this is the application output:
@I/Qt ( 7822): qt start
D/dalvikvm( 7822): Trying to load lib /data/data/org.qtproject.example.btchat/lib/libpq.so 0x411e6f98
W/System.err( 7822): java.lang.reflect.InvocationTargetException
W/System.err( 7822): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 7822): at java.lang.reflect.Method.invoke(Method.java:511)
W/System.err( 7822): at org.qtproject.qt5.android.bindings.QtActivity.loadApplication(QtActivity.java:245)
W/System.err( 7822): at org.qtproject.qt5.android.bindings.QtActivity.startApp(QtActivity.java:655)
W/System.err( 7822): at org.qtproject.qt5.android.bindings.QtActivity.onCreate(QtActivity.java:895)
W/System.err( 7822): at android.app.Activity.performCreate(Activity.java:5008)
W/System.err( 7822): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
W/System.err( 7822): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
W/System.err( 7822): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
W/System.err( 7822): at android.app.ActivityThread.access$600(ActivityThread.java:130)
W/System.err( 7822): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
W/System.err( 7822): at android.os.Handler.dispatchMessage(Handler.java:99)
W/System.err( 7822): at android.os.Looper.loop(Looper.java:137)
W/System.err( 7822): at android.app.ActivityThread.main(ActivityThread.java:4745)
W/System.err( 7822): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 7822): at java.lang.reflect.Method.invoke(Method.java:511)
W/System.err( 7822): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
W/System.err( 7822): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
W/System.err( 7822): at dalvik.system.NativeStart.main(Native Method)
W/System.err( 7822): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1306]: 36 cannot locate 'sigemptyset'...
W/System.err( 7822): at java.lang.Runtime.load(Runtime.java:340)
W/System.err( 7822): at java.lang.System.load(System.java:521)
W/System.err( 7822): at org.qtproject.qt5.android.QtNative.loadBundledLibraries(QtNative.java:156)
W/System.err( 7822): at org.qtproject.qt5.android.QtActivityDelegate.loadApplication(QtActivityDelegate.java:430)
W/System.err( 7822): ... 19 more@ -
The problem is this that it cannot locate 'sigemptyset'...
isgemptyset should be in libc.so but is missing in the older android builds.
The workaround that works for me was to staticlally link libc. I uploaded the changes and the lib is now 10x larger at 2MB. I'll update the wiki and include instructions to statically link.
-
The problem is this that it cannot locate 'sigemptyset'...
isgemptyset should be in libc.so but is missing in the older android builds.
The workaround that works for me was to staticlally link libc. I uploaded the changes and the lib is now 10x larger at 2MB. I'll update the wiki and include instructions to statically link.
-
with the new lib file the app crashes without showing any message. and application output is:
@{ . . .
I/Qt (27083): qt start
D/dalvikvm(27083): Trying to load lib /data/data/org.qtproject.example.btchat/lib/libpq.so 0x411e4508
F/libc (27083): Fatal signal 11 (SIGSEGV) at 0x00006c23 (code=1), thread 27083 (.example.btchat)
}@EDIT: The app seems to be working on my phone. However I don't know whether it should work the same way as described in Qt documentation or not. The code given under doesn't seem to be making database connection (hence else part is executed) :
@
QSqlDatabase db= QSqlDatabase::addDatabase("QPSQL");db.setHostName("89.129.198.19"); db.setDatabaseName("abcde"); db.setUserName("activa"); db.setPassword("X123xyz"); db.setPort(5432); bool ok = db.open(); if(!ok) { QMessageBox::information(this,"Connection","Connection Failed!"); } else { QMessageBox::information(this,"Connection","Connection Established!"); }@
-
with the new lib file the app crashes without showing any message. and application output is:
@{ . . .
I/Qt (27083): qt start
D/dalvikvm(27083): Trying to load lib /data/data/org.qtproject.example.btchat/lib/libpq.so 0x411e4508
F/libc (27083): Fatal signal 11 (SIGSEGV) at 0x00006c23 (code=1), thread 27083 (.example.btchat)
}@EDIT: The app seems to be working on my phone. However I don't know whether it should work the same way as described in Qt documentation or not. The code given under doesn't seem to be making database connection (hence else part is executed) :
@
QSqlDatabase db= QSqlDatabase::addDatabase("QPSQL");db.setHostName("89.129.198.19"); db.setDatabaseName("abcde"); db.setUserName("activa"); db.setPassword("X123xyz"); db.setPort(5432); bool ok = db.open(); if(!ok) { QMessageBox::information(this,"Connection","Connection Failed!"); } else { QMessageBox::information(this,"Connection","Connection Established!"); }@
-
[quote author="antreimer" date="1424547268"]The first so file I uploaded was only tested against lollipop. The second one was also tested against KitKat. I'll look into it. My brother has a Jellybean phone.[/quote]
i've edited my post. please the app seems to be working on my phone but now the database connection is not being established :P
BTW i'm testing it on KitKat too
-
[quote author="antreimer" date="1424547268"]The first so file I uploaded was only tested against lollipop. The second one was also tested against KitKat. I'll look into it. My brother has a Jellybean phone.[/quote]
i've edited my post. please the app seems to be working on my phone but now the database connection is not being established :P
BTW i'm testing it on KitKat too
-
I already did that. it says driver not loaded. its is the same error i was getting without this library. I added this code to check whether the library was loaded or not. And it shows that it is loaded (message box is shown):
@ QLibrary library("libpq.so");
if (library.load())
QMessageBox::information(this,"Loaded","Lib loaded");@ -
I already did that. it says driver not loaded. its is the same error i was getting without this library. I added this code to check whether the library was loaded or not. And it shows that it is loaded (message box is shown):
@ QLibrary library("libpq.so");
if (library.load())
QMessageBox::information(this,"Loaded","Lib loaded");@