I have a custom made C (cross-platform) application. An OpenVPN variant. I want to compille this for the Android version with NDK.
It compiles under Linux. Does this mean i can easily compile it for Andoird too with the NDK? And if so, how can i communicate with my library through Java code (the normal Android SDK)?
I'm not really that far yet to do the actual implementation part. But i'd like to know what i can expect in advance.
So if you have any experience with the NDK and have any tips/pointers for me, then you'd really help me alot. Like, things i should look out for when working with the NDK. Compile settings etc.
Thanks for any help.
My Openvpn for Android application is open sourced. See https://github.com/schwabe/ics-openvpn/ Since you wrote that you are using an OpenVPN variant looking at the Android.mk files of my project might help you.
Related
How to use j2objc in android studio?
I did not find any manual. How to implement and work with j2objc in android studio?
I'm a junior in java language, and I wrote one app for android, and now I need convert this app for iOS. It's a simple app.
I want use j2Objc for a separate build app for iOS, but I don't know how to work with j2objc.
Download distribution and this plugin. Follow instructions and everything will work.
Forgive this obvious question, but you have a Mac, right? You won't be able to build iOS apps without one. That's why many j2objc engineers use Xcode, since UI development and debugging are easier to do there.
I have win 10 machine.
OK, I downloaded it, unzip, and next step? I dont see any instruction, what i do with this. Paste in specific folder? Implement with plugin wizard? or? Maybe Im stupid, but realy I dont know how these features work on.
I see only:
This package must be built on an OS X system, with: ...
and for gradle plugin ...
oh shit!
I have been having tough time in finding a IDE or Editor which can help me easily modify the Android's C/C++ classes (mainly the classes under frameworks/base/core/jni)?
All the sites point to using Eclipse for development. But the dependencies were not resolved for C/C++ files. Java related dependencies are correctly resolved and the project is good enough to view the source files without any errors.
Right now, I just browse the C/C++ code in Eclipse CDT and make changes, compile using regular AOSP make commands and push it to my custom ROM. I am working on device drivers related work, so cannot use Emulator to test the changes :(
Two queries:
Is there a way, I can get content assist for Native C/C++ code for Android Source code ?
Is there any easy way to edit/build/run the native libraries quickly on Device ?
Any pointers will be highly appreciated.
You are on the right track. You build AOSP from terminal, but use IDE for browse/edit/debug sessions.
What worked for me is creating a big eclipse C/C++ project containing everything under frameworks/base. Use it for browsing/editing/debugging using all the helpers that eclipse provides.
Please check Debugging Android native applications to understand AOSP debugging.
I also have this problem! My solution is to re-set NDK path in "local.properties".
When i use default ndk path (ex: ndk.dir=C:\Users\%user\AppData\Local\Android\Sdk\ndk-bundle sdk.dir=C:\Users\%user\AppData\Local\Android\Sdk ) , I will have the same problem. So I download other NDK (from google official web-site) ,and set "ndk.dir", and I sloved.
You can try it~ maybe helpful for you.
ps. I use NDK version:14 , will happen this. I use v13 or v12 will solved.
we are now developing some features with c/c++ for android client.
So we will use android NDK - r8 to compile our code.
We use libuv also in our code.
Unfortunately, android NDK cannot complie libuv correctly. All the terms started with 'pthread_'cannot be recognized.
Anyone has idea or hint? Thanks a lot.
The support for android is not yet in mainline libuv, but I know of at least two patch-sets to fix it:
As implemented in rust
As a recently submitted pull-request
While I can't speak of the latter (seemingly very good quality), I can tell you that the former is currently being used for the Android port of rust and servo.
I'm interested in developing an Android App using the Drools (JBoss) expert systems rules based system. It's got a plugin via Eclipse per their tools (v3.2) but I don't exactly know how to integrate Drools Jars into and Android project successfully. There has some talk about the issue (see below) but I don't know if it's been completely resolved. Can anyone enlighten me.
http://blogs.siliconindia.com/vinayGuntaka/Intergrating_External_Jars_ie_Drools_Jars__to_Android_and_Developing_Android_Programs-bid-HshzM96A62906557.html
http://osdir.com/ml/Android-Beginners/2010-01/msg00318.html
here is another working option, I made a little modification on drools libaries for loading and running DRL rules on android.
check it, hope be helpful:
https://github.com/jorgemfk/dr-drools-android-demo
https://play.google.com/store/apps/details?id=mx.dr.drools
I forked Drools 6 and modified it to use Dex for class generation and it works on Android (using serialized packages compiled on desktop) I put an Android application sample on github
So, do you know how to create android projects? and how to add external jars to your android projects? When you reach that stage, this post may help. It talks about jbpm5 running in android but it depends on drools so it should be the same.
http://kverlaen.blogspot.com/2011/03/jbpm5-lightweight-running-on-android.html
Cheers
I have a rather simple question. I built the OpenCV library with the help of MacPorts. All the files are in my opt directory as they should be. I'd like to use the libopencv_core.2.2.0.dylib in my Android project in Eclipse. There is a method cvnorm() in that library which I want to use. I'm writing a simple little Android app which will need to use some of the methods from OpenCV. I can't seem to add this library to the project, it says it's invalid file type. Would appreciate any help you could give. Thanks!
There is a special OpenCV trunk for Android. Try this tutorial.
Even it's written for Windows, it worked like a charm in my MacBook Air.