Android : Possible To Use Native C/C++ Libraries?
Apr 1, 2009Is it possible to use a native C/C++ library? If so, are there any restrictions for those libraries to be used?
View 3 RepliesIs it possible to use a native C/C++ library? If so, are there any restrictions for those libraries to be used?
View 3 RepliesI am completely new to the NDK.
I have done a couple of the tutorials including the hello from jni one and another one that calculates the sum of two numbers.
They involved using cygwin and the ndk to create the library so file and I have a bit of a grasp on how to insert my own libraries into the libraries layer of Android.
I have now been asked to access the native libraries on Android and see what I can use them for.
My question is can I do this?
The STABLE-APIS.txt document is a bit vague and mentions the following as Stable C++ API's in Android 1.5
cstddef
new
utility
stl_pair.h
Does that mean I can access them?
If so then how do I go about it?
Is there any way to access the contact DB in my native libraries(C/C+ +)? Also to update the contact database through native libraries itself.
View 4 Replies View RelatedMy application cannot handle the JNIE overhead, as I need to make 2 JNIE calls to the native C/C++ code for every 20msec. So I am trying to use the native media libraries and the realted C/C++ files provided by Android in the folder "//external/srec/audio/test" of the donut build. Ex. AudioHardwareRecord, AudioInRecord etc.. I am implementing all the calls in the native layer.
I am using the sampling rate as 8000 and want to read 160 samples (320 bytes) at a time.
I used the following values to create the AudioRecord..
CODE:..........
It says "success" after creating this interface but I am getting the error "Bad Value" if I am doing the InitCheck.
And it is crashing once I start reading the samples or if I try to retrieve the configured sampling rate.
Has anybody tried to access this native code?
For some reason ever so often I get that message on the bottom of my screen. Its not worded exactly, but its kinda annoying. Does anyone know what it mean and how I can make sure it doesnt show up again.
View 3 Replies View RelatedI am an Android app developer, and I have purchased a Nexus One device which I use to continuously test my developed Android applications.
Background: ----------------- One of the applications I developed uses a native shared library (e.g. myNativeLib.so). Only my application loads & uses this native library. I had developed this app before Android NDK came out. I pack my native library into my apk's 'assets' folder, and during my application start- up, I extract this native library from my package's assets folder to my app private directory (i.e. <assets> -> /data/data/<myappprocess>/ myNativeLib.so). Then I use System.load() API in my application to dynamically load this native library.
Problem: ------------ This application was developed during Android 1.5 (i.e. cupcake) days {I didn't have the Nexus One then}. The above procedure has been working without any problems right from Android 1.5 to Android 2.2 (i.e. Froyo). I have also tested the same on my Nexus One for Android 2.1 (i.e. Eclair) and Android 2.2.
The problem began the moment I recently upgraded my Nexus One to Android 2.2.1 via the FRG83 system update. Now, whenever I try to load my native library, I get the following error:
D/dalvikvm( 3653): Trying to load lib /data/data/<myappprocess>/ <mynativelib>.so <some address> I/dalvikvm( 3653): Unable to dlopen(/data/data/<myappprocess>/ <mynativelib>.so): Cannot load library: link_image[1995]: failed to link <mynativelib>.so
What I have Tried: -------------------------- 1. I tried my application using Android 2.2 SDK (emulator)...it works, no issues. 2. I checked out the latest froyo & android2.2.1 source code from Android open-source, built & tested my application + native lib using the latest froyo source...it built & ran, no issues. This should've taken care of any changes in the native code dependencies between Android 2.2 & Android 2.2.1 3. I even checked Android 2.2.1 source code for dalvik (java System & Runtime classes) + bionic (linker & dlopen sources) between Android 2.2 & Android 2.2.1 (using source checked out from Android open-source), but couldn't find anything consequential 4. I am unable to return my Nexus One to Android 2.2.
I was really excited today when I saw the Tools r7 and ADT 0.9.8 were available and the latter had this note;
Fixes problems with handling of library project names that contain characters that are incompatible with the Eclipse path variable. Now properly sets up the link between the main project and the library project.
I create the library (foolib - no spaces, no caps, no punctuation). So far so good. I go to the main project, go to preferences --> Android. In the library box I add the new library. It appears. I press Apply. I press OK.
Nothing happens.
I return to the preferences, the library is no longer there JUST LIKE BEFORE.
I looked around for info on this in the group but couldn't find any... so far in my OpenGL programming I've just done everything directly, but I was curious if anyone had written any "wrapper" libraries for it besides min3d. Min3d is great (or is getting there) but it's GPL'd, making it unsuitable for a commercial product (if my understanding of the license is correct).
View 5 Replies View RelatedWe have been using gdbserver to debug our JNI code as follows. We have been less than successful -- breakpoints do not always get activated, sometimes we get SIGILL, and we seldom ever get a useful stack when the debugging stops on SIGSEGV, sometimes the program dies with SIGTRAP!!!
We have occasionally been able to have debug sessions with s/n, but since pretty much every SEGV has resulted in either a damaged stack, or at least, gdbserver can not find the stack, it's a pain.
Is there something we are missing? Is there some reason to use the 4.2.1 vs 4.3.1 toolchain? (Why are there two toolchains? I assume because of bugs in each that are fixed in the other... which bugs?)
We guessed that the "dalvik" process that we wanted to debug was app_process --- we found this out by looking at /proc/XXX/cmdline on our running activity.
This is what we do typically do(repo sync directory is in /build/m1 for me)
invoke:/build/m1/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi- gdb
(some of us use -tui, some of us run it under Xemacs, etc.)
We then do:
CODE:..........
We then start our activity, adb shell, discover the PID of the activity, discover the IP of the phone with "netcfg", and:
app_15 1815 49 107468 15744 ffffffff afe0d4a4 S org.credil.thomas_watson.videophoneservice
# gdbserver 0.0.0.0:1234 --attach 1815 Attached; pid = 1815 Listening on port 1234 Remote debugging from host 132.213.238.4
(gdb) target remote 132.213.236.179:1234
This is with a physical device. With an emulator, one has to, of course, run the adb forward stuff. (Too bad that doesn't work with a real device too, as then I would not need to run gdb over the wireless)
Program terminated with signal SIGKILL, Killed. The program no longer exists. (gdb) target remote 132.213.236.179:1234 Remote debugging using 132.213.236.179:1234 Error while mapping shared library sections: /system/bin/linker: No such file or directory. warning: .dynamic section for "/build/m2/out/target/product/generic/ symbols/system/lib/libc.so" is not at the expected address (wrong library or version mismatch?) ... many more GDB will be unable to debug shared library initializers and track explicitly loaded dynamic code. tkill () at bionic/libc/arch-arm/bionic/tkill.S:52
(gdb) break sendframe Breakpoint 1 at 0x80401086: file /build/m1/packages/apps/ VideoPhoneService/libvideophoneservice/src/rooster.cpp, line 96.
(gdb) c Continuing.
Program terminated with signal SIGTRAP, Trace/breakpoint trap. The program no longer exists. (gdb)
(btw, an annoyance about googlegroups is that it seems that it looks at my SMTP from header, rather than From:... This basically means that I can not post from gmane.org via NNTP, which is a shame. Is there a secret NNTP access on googlegroups.com, I wonder?)
I need to know the footPrint of Android and its various Libraries
- Hide quoted text -
I'm currently making a purely math and algorithm-based C++ library. Will I be able to use it when developing for Android? How? I guess writing some Java wrappers, but will it then be usable on all JVMs?
View 3 Replies View RelatedI need to add few shared libraries to the andriod as part my application installation. Can you please suggest right information resources regarding the same.
View 2 Replies View RelatedIs it possible to use third-party libraries for display pdf?I mean to use custom pdf view, in which I can pass pdf url and view it in new Activity.I want include libs into project and use their as resources.
View 9 Replies View RelatedI have to add java libraries javax.xml to the my android project, while I am trying to add them it shows the error "Conversion to Dalvik format failed with error ".
View 7 Replies View RelatedI'm building an app where I want to architect the app layer separately from the service layer (not android services). So I'll create a service interface(the apis) and then create a class(es) that implement that service interface. Inside the android application layer, I want to code to just that service interface. I think this is similar to how the google maps apis works. the api interface and stubs are in the framework, then each device actually provides the implementation. I don't need to go that far, but I am wondering how I package this up. One, where would I put these interfaces, so I can code to them in the app layer (like Activities). Second, how do I tell Android where the implementing classes are? I'm guessing this is somewhere in the manifest? For now I think I would probably just build the service implementation with the application source code, if that's easier. Eventually I'd like to break that out and drop it in as a 3rd-party jar.
View 4 Replies View RelatedWith the NDK I can wrap a native library so I can call the methods from Java and package that library into my application.
Say I want to package a custom version of SQLite, is there any way to override the system library for SQLite, so I dont have to reimplement the SQLiteDatabase class?
I'm working on a project with a group that is using Eclipse, but I'm using Netbeans. Up until today this wasn't an issue. When updating from the repo they have added some source code as a library under a directory called /lib-src. When I try to compile the code I get an error that it can't find certain packages... these are the packages under /lib-src.
Using NetBeans I can add the library as a folder so now the references to those packages are happy. However, I'm getting this new error when compiling:
UNEXPECTED TOP-LEVEL ERROR:
CODE:.........
I can include the build-impl.xml file if you need it, but I don't think that is main issue.
I need to import a couple of jars that where compiled under the full implementation of java. I know that Android doesn't use all the packages that java has to offer. My question is: Is it possible to import them without creating errors? Is there a tool that can convert jars to android jars? if so, can some examples be provided.
View 1 Replies View RelatedIs it possible to install a java library in a folder and have this code dynamically linked into another program? In other words, i have a major code base that would be shared among different projects.Assume that all them are created with the same shared user id.
View 4 Replies View RelatedIs there a way we can parse apple plist xml using any libraries or otherwise.
View 4 Replies View RelatedI'm attempting to port a normal Java program over to Android, however I am having a problem with a huge number of missing Java packages (e.g., Android Java does not have java.lang.management). Is there a way for me to work around this, such as by adding the Java modules that I need?
View 2 Replies View RelatedI am into healthcare imaging. Wanted to know if there are any DICOM Libraries for Andriod.
View 2 Replies View RelatedI have a few already written C libraries which i want to embed into the library layer of the android architecture at the same level as the already existing libraries such as libc etc.... i dont want to insert it as .jar packages at the application or framework layer. is that possible.
View 2 Replies View RelatedMy app uses location services, and has the manifest entry:
<uses-library android:name="com.google.android.maps" />
Does anyone know if these libraries are guaranteed to be included on every Android phone? If not, how would I know if they are not there?
What tutorials and libraries are available which can help beginners to develop 2D and 3D games on Android using OpenGL-ES? I'm looking for tutorials which can help me learn OpenGL-ES, and I'm looking for OpenGL-ES libraries which can make life easier for beginners in OpenGL-ES.
Since Android is still small, I guess it may be help-full to read iPhone OpenGL-ES tutorials as well, as I suppose the OpenGL-ES functionality is much the same.
I have found the following useful information which I would have liked to share:
Android tutorials: DroidNova: Basic tutorial covering polygons, no textures anddev forum with some tutorials
Other Android OpenGL-ES information: Google IO lecture regarding games, not much OpenGLES The The Khronos Reference Manual is also relevant to have, but its not exactly the best place to start.
iPhone OpenGL-ES tutorials (where the OpenGl-ES information is probably useful): http://web.me.com/smaurice/AppleCoder/iPhone_OpenGL/Archive.html
[url]
As for libraries which a beginner might use to get a simpler hands-on experience with OpenGL-ES, I have only found Rokon, which is recently started, thus has many holes and bugs. And it's gnuGPL licensed (at the moment) which means it cannot be used, if we wish to sell our games.
I want to build some libraries into executables that I need to use with my application. For example I need to build the C library slocate, so that I can use it in my application. Another example, I have to build sqlite-3.1 db to be usable with Python from ASE.
View 1 Replies View RelatedI currently have an application using the libraries swing, swing.table, and awt on a java applet that I have running. I want to know what are the steps to get the application running as a native android app. I heard that I could use programs like Phonegap to just release a web based app for multiple platforms, but I am new to Android Programming (so far I just made a Hello Android app). I searched swing and awt, but I could not find any useful info.
View 5 Replies View RelatedI am building an app that scrapes information from web pages. To do that I have chosen to use an HTML scraper called J soup because it's so simple to use. Jsoup is also dependent on Apache Commons Lang library. (Together they make up a total of 385kB ). So Jsoup will be used to Download the page and parse it. My question is if the use of these simplifying libraries, instead of using Androids built-in libraries, will make my app slower? (in terms of downloading data and parsing). I was thinking that the internal libraries would be optimized for Android.
View 4 Replies View RelatedI'm new to Java/Eclipse/Android, so this is probably an easy (if not stupid) question:
After creating a new Android project, I want to import some (what I think are standard) Java libraries. However, some import statements throw an error:
HelloAndroid.java:
import java.awt.Color; (The import java.awt.Color cannot be resolved)
import javax.imageio.ImageIO; (The import javax.imageio cannot be resolved)
while others don't:
import java.io.File; (no error)
I've done some googling and tried to add these classes to my class path by going to project->properties->libraries but I haven't been able to figure out what to do exactly.
I am working on a on-screen keyboard for Android, and I need to recognize starting points, turning points and end points of lines drawn by the user on the keyboard. A simple straightening function would be nice, as it is difficult to draw a perfectly straight line even with a stylus, not to mention finger-only touchscreens today.What I am trying to write is something like Swype. Any good libraries that I can use or make reference to?
View 1 Replies View Related