I'm trying to explore libVLC for Android that's why setting up VLC android project on windows 7 but i'm facing problems. When i import the project and setup all helping libraries and try to compile using NDK it gives following error
make.exe: *** No rule to make target `jni/..//modules/codec/omxil/iomx.cpp',
needed by `obj/local/armeabi/objs-debug/iomx gingerbread/__//modules/codec/omxil/iomx.o'. Stop.
While when i try to search the file in my folder i only able to find iomx.h and iomx.cpp is actually missing but i downloaded the project from official repository.
git clone git://git.videolan.org/vlc-ports/android.git
I'm willing to follow a tutorial with proper configurations to setup and compile android application of VLC but i'm not able to find any tutorial and the official one says that it is for Linux and you will require a Linux or Mac OSX to follow this tutorial Tutorial Link. So my first question is
Can we Compile VLC android project Using all mentioned tools like (Android SDK, NDK, ant etc) on a windows platform.
Secondly i'm not able to find a detailed or much easy Documentation except this one VLC Documentation link, Are there any other easy to understand libVLC documentation more specific to android usage
Please help me or guide me in right direction. I want to develop an application for Docked DVD device for android.
I found my answer about this by myself and today watched this question unanswered so thought to answer it so that it can be helpful for others.
For the first part the answer is 'NO' we cannot compile the libVLC code on Windows OS using NDK as due to complex compilation process of libVLC. it Cannot be compiled using NDK tools that's why VLC released a script to compile libVLC which is in main directory when you download code from Git repository named Compile.sh and it can be run only on linux or mac as both based on Unix. i.e for libVLC compilation you need to run compile.sh which requires alot of linux based tools as mentioned in their official tutorial for compilation. you can try all those packages through cygwin on windows but i have not tried that rather i switched to Ubuntu 13.04 so that i can also explore linux environment...:). One thing i like to mention here if your target is just to use the compiled C++ code of libVLC in your project through java then you can do this on windows OS using libVLC.so file but if you need to change the libVLC code and recompile it then you will need to run compile.sh which requires linux or mac.
For the Second one the answer is same that as far as i know the only documentation i found was that i mentioned in my question.
Related
I asked a rather difficult question for me about compiling the toxcore library for Android. I read the instructions on the official git page, but without success.
I tried to build on a virtual machine under the lubuntu shell, but unfortunately I got only the toxcore library (you also need toxencryptsave). And the library itself was not read by Qt.
Tried to build via cygwin. The results are the same, but now the .so libraries are not built in addition.
Questions:
Does the readability of the library depend on the compiler? (For example, I built it on a virtual machine under CMake, and in Qt under android under CLang)
Who did it? Can you share more detailed instructions for collecting libraries for CLang
Thank you all in advance. If you really help, I will kiss everyone on the forehead
This may look like a duplicate question, but all the previous answers were too much confusing for a ameature developer like me. I have never used NDK before and I am working with android studio and windows PC. Previous answers(1,2) and other sources are suggesting to use linux to compile. I couldn't understand what to do. Can anyone guide me through the steps about embeding libvlc in my android app
If you are having trouble with compiling vlc , then you can use the following library , thou it is unofficial , but I worked with it and it worked fine .
Unofficial VLC Android SDK
If you're on Windows 10, you should be able to follow the wiki at https://wiki.videolan.org/AndroidCompile/ using WSL (and google/use the videolan forum for what you don't know).
If you don't want to compile, another way could be to download the apk of the official vlc-android app, unzip it, extract the libs you want (namely libvlcjni.so and probably libjniloader.so) and add it to your project (which means making gradle happy).
vlc-android is a fully opensource app that does exactly what you want to do. Feel free to have a look.
Good luck
Recently I've been learning how to use TensorFlow, and wanted to set up the Android demos on my computer to see how they worked. I followed the instructions provided here, with the only differences being that I installed the Android SDK through Android Studio, and installed the Android NDK through the SDK Manager. Up until $ bazel build //tensorflow/examples/android:tensorflow_demo, everything worked fine, but after that, I got this error from the terminal:
ERROR: no such package '#androidndk//': Could not read RELEASE.TXT in Android NDK: /home/me/.cache/bazel/_bazel_me/f3471be34d1e62bf21975aa777cedaa3/external/androidndk/ndk/RELEASE.TXT (No such file or directory).
ERROR: no such package '#androidndk//': Could not read RELEASE.TXT in Android NDK: /home/me/.cache/bazel/_bazel_me/f3471be34d1e62bf21975aa777cedaa3/external/androidndk/ndk/RELEASE.TXT (No such file or directory).
From looking around at similar issues, my understanding is that this error is because the RELEASE.TXT file isn't included in the most recent version of Android NDK. This issue suggested downgrading to a previous version of NDK which contains a RELEASE.TXT file, and provided links to download such versions. However, the link that I followed (https://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin) downloaded a .bin file, which is unusable to me. That post also suggested commenting out the NDK entry in the WORKSPACE file, but I haven't tried that yet, since I don't know if it will cause further complications down the road.
Another approach that I've tried is going to the path indicated by the error log (/home/me/.cache/bazel/_bazel_me/f3471be34d1e62bf21975aa777cedaa3/external/androidndk/ndk) and creating a blank RELEASE.TXT file, which made no difference. (I wasn't able to create one in the NDK that I installed, since it was in the form of a .jar file at the path /home/me/android-studio/android-studio/plugins/android-ndk/lib, thus the only way I could see was this path.)
As it stands, I'm at a dead end. Is there another way to resolve this issue without downgrading or commenting out the NDK entry? If not, how can I install a previous version of Android NDK?
I also posted this as issue #3175 in the official GitHub repository for TensorFlow, and it's been resolved. A play-by-play of the steps I followed to solve the problem can be found in that thread. It's a bit convoluted, so the steps I believe will solve an issue like this are as follows:
If you didn't use the --recursive option when git cloning the TensorFlow repository, re-clone it using that.
Downgrade to Android NDK r11c (and make sure to update the WORKSPACE file accordingly). A link for the Linux version can be found in the GitHub thread.
Check the version of your Android SDK and build tools. If they differ from the default versions written in the WORKSPACE file, make sure to change that.
You may run into a TensorFlow issue that is, as of yet, unresolved. (#3374) If so, run ./configure as a workaround.
And that should allow the Bazel build to proceed successfully.
Have you looked at using an alternative way to compile TensorFlow for Android without using Bazel? It's described in TensorFlow Makefile
I am trying to develop an offline voice recognizer on android. After a few searching I found CMU Sphinx is used for this purpose.
I am trying to install it on Windows,
Here are the instructions that are quoted from its own web page:
Windows
In MS Windows (TM), under MS Visual Studio 2008 (or newer - we test with Visual C++ 2008 Express):
-load sphinxbase.sln located in sphinxbase directory
-compile all the projects in SphinxBase (from sphinxbase.sln)
-load pocketsphinx.sln in pocketsphinx directory
-compile all the projects in PocketSphinx
The problem is, there is no sphinxbase.sln anywhere! Am I understanding it wrong? Should I not see a file named sphinxbase.sln and execute it? Or what should I do? What are the steps?
This question may help other people who have also problem with installing Sphinx.
You do not need to compile sphinxbase on Windows in order to build applications for Android. You just need to unpack them. You can follow the instructions here to compile the sample application:
http://cmusphinx.sourceforge.net/2011/05/building-pocketsphinx-on-android/
To use sphixnbase on Windows you can download precompiled libraries here:
http://sourceforge.net/projects/cmusphinx/files/sphinxbase/0.8/sphinxbase-0.8-win32.zip
To compile Sphinxbase from sources, download sources here
http://sourceforge.net/projects/cmusphinx/files/sphinxbase/0.8/sphinxbase-0.8.tar.gz
and compile them according to the instructions. The sphinxbase.sln file in right in the top folder after you unpack the sources. Probably you need to enable extensions in explorer in order to see it.
I'd like to build some native libraries for android using the NDK (native development kit), but i'd like to use Visual Studio 2010 to do it. I've googled quite a bit but haven't found any information on it. Does anyone have any experience with this and know the steps necessary to make this happen? I have CYGWin installed, made sure i get Make (per the NDK instructions), but i'm not really sure of the next steps in terms of setting up the project, compiler in visual studio, etc.
If anyone knows of any write-ups, tutorials, or links to sample projects, that would be awesome, as there isn't much on google yet.
thanks!
Here's another solution, which integrates the NDK fully within Visual Studio. No makefiles. It behaves like a proper Win32 project:
Here's an excellent blog post about how you can configure your environment to debug android NDK code using Visual Studio.
Visual Studio is officially not supported.
Some problems (but not limited to):
MSVS cannot create the proper ARM binaries
Android makefiles (.mk) are not supported by MSVS
There are however, third party solutions:
vs-android
VisualGDB
You might want to check out DS-5 as well, though it's not Visual Studio.
The answer depends on what kind of integration you require.
To just build the native Android code from Visual Studio you can create a new Makefile project, and make it run ndk-build.cmd when you press "build". If you would like to get the error messages mapped as well, you will need to parse the output of ndk-build.cmd and convert it to a format that Visual Studio can udnerstand.
If you want to debug your native Android code from Visual Studio, you will need a third party tool that will control ndk-gdb on behalf of Visual Studio and provide workarounds for several bugs (e.g. rebind breakpoints when libraries are loaded).
You can try our VisualGDB for Android tool that does exactly that - creates projects that wrap ndk-build and controls NDK debugger on behalf of Visual Studio. If you need more information, there is a step-by-step tutorial available.
I have not found a direct clean solution, here is my workaround.
I develop my native code on VS as a static library, and use some test project to try it as a console aplication.
When it is ok, from cygwin I use a little bash script that copies all needed files to the jni folder and launch the standard android ndk make command. (also copy some file to assets folder when needed), producing the executable in the right folder.
To use the pthreads I have linked my projects to pthreads-win32.
The only files I do not compile in VS are the jni code.
I hope this can help you.
There's also a couple of other third party alternatives for developing ANdroid apps with VS in addition to those above. There is the open source dot42 located at http://www.dot42.com and Remobjects, http://www.remobjects.com , which allows you to program in c#, Pascal, and Swift. I have played with the trial of Remobjects and am now starting to play around with dot42.
My use of the remobjects trial allowed me to recreate in c# the first five chapter projects in the textbook of the Android course I took. I haven't had the same success with dot42 so far but I need to find some time to really give it a chance.