Native libraries not running on the device - maven

I've put armeabi,armeabi-v7a folders into libs folder and not in maven repository. But I am getting following error while using libgdx:
The library 'gdx-backend-jogl-natives.jar' contains native libraries that will not run on the device.
The following libraries were found:
libgluegen-rt-linux32.so
-libgluegen-rt.jnilib
libgluegen-rt-linux64.so
libjogl.jnilib
libjogl_awt.jnilib
libjogl_awt-linux32.so
libjogl_awt-linux64.so
libjogl-linux32.so
libjogl-linux64.so
liblwjgl.jnilib
liblwjgl.so
liblwjgl64.so
libopenal.so
libopenal64.so
Any help will be appreciated.
Thanks

gdx-backend-jogl-natives.jar file contains the basic information about how to create the window in desktop environment. So when you provide android environment it will conflict with android native library so it throws an error. so you have to remove the native library from the project then check it will execute successfully.

Related

Webpack compilation, local Module not found: Error: Can't resolve

I modified a plugin and added it in my project's file system. So in my package.json I have : "some-module": "file:modules/some-module".
It works fine on my machine (Windows), but not on our build server (Linux CentOS), which fails during webpack compilation with error : Module not found: Error: Can't resolve 'some-module'.
The build server does clean the workspace before build, and after the failed build the plugin does exist in 'node_modules' folder of the workspace.
What could cause this error if the plugin does exists ?
EDIT : I tried on another linux machine (CentOS) and build failed for same error.
EDIT2 : I changed the local file: reference in my package.json file to a .tar.gz git URL. The error is now :
ERROR in ../node_modules/nativescript-pdfview-ng/pdfview-ng.ts
Module build failed (from ../node_modules/#ngtools/webpack/src/index.js):
Error: /root/myProject/node_modules/nativescript-pdfview-ng/pdfview-ng.ts is missing from the TypeScript compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property.
The missing file seems to be part of a third party library. TS files in published libraries are often a sign of a badly packaged library. Please open an issue in the library repository to alert its author and ask them to package the library using the Angular Package Format ([link][1]).
at AngularCompilerPlugin.getCompiledFile (/root/myProject/node_modules/#ngtools/webpack/src/angular_compiler_plugin.js:719:23)
at plugin.done.then (/root/myProject/node_modules/#ngtools/webpack/src/loader.js:41:31)
at process._tickCallback (internal/process/next_tick.js:68:7)
Are you using NativeScript 5.x?
If so, make sure to prefix the plugin with "nativescript-", since {N} 5.x the module resolution seems to have changed with regards to Webpack'ed build.

Titanium Android module fails with "does not have a main jar file"

I've created my own new Android Titanium module. The module build was successful and I have the artefact in the dist directory.
I've dropped the zip file inside my project, setup tiapp.xml, cleaned the project, but when running on the device I'm getting the red screen saying
Uncaught Error: Requested module not found: com.myproject.mymodule
I even tried extracting the zip manually and not let Studio do it. I cleaned the project several times.
Why wouldn't it find my module?
EDIT
I now notice a WARN message while compiling the app:
Module com.myproject.mymodule version 1.0.0 does not have a main jar file
I'm doing an ant build from eclipse and everything seems fine. I see the jar file created and present in the module directory inside my project.
Was facing the same error right now and I had a look at the place the error messages appears. It's searching for module.manifest.name.toLowerCase() + '.jar'. So have a look at the modules/android/com.myproject.mymodule/1.0/ folder: the jar file should have the name that is inside the mainifest file (name tag)
The the warning should disappear and the module should be loaded correctly.
You can try doing packaging the module in SDK location or in the particular project and see if things work. What I have always done is packaging the module in SDK location and add it in tiapp.xml of the project I want to use the module without facing any error like this.

Compile Android NDK project error with Gradle

I have an Android project that has a little CPP code inside.
The server that I'm trying to build this project has the Android SDK and the NDK installed and the dir location was set on the system variable section.
When I trying to build the project with gradle I get the following error message:
Execution failed for task ':mobilecoresdk:compileDebugNdk'.
NDK not configured.
I understand that gradle didn't found the NDK dir and therefore it's failed.
When i'm trying to build the project on a differnt pc with Android studio I can build it, since the local.properties file is telling gradle where to find the ndk dir, so the only differance in the server is the local.properties file inside the my project which isn't avilable in the server build proccess.
local.properties content is:
ndk.dir=/Users/avilevinshtein/Library/Android/sdk/ndk-bundle
sdk.dir=/Users/avilevinshtein/Library/Android/sdk
Should I inject this file on the sever? or am i missing something?
Thanks a lot! :)
Set those two environment variables before executing:
ANDROID_HOME=<SDK_Location>
ANDROID_NDK_HOME=<NDK_Location>
If using Jenkisn for building you can use the EnvInject plugin for that.

MBProgressHud Swift Compile Error when Archiving

I already finished my project, it works and runs perfectly on the simulator or in my own device. When I select to Archive the project to upload de build to Itunes Connect, I get all these compile errors
"Use of undeclared type MBProgressHUD"
"Use of unresolved identifier MPProgressHUD"
And so on..
NOTE: I'm using CocoaPods for this library
What solved it for me was adding import MBProgressHUD in the classes where I use this library, not only in the Bridge-Header.h
Navigate to your project build settings and find the “Swift Compiler – Code Generation” section (You may find it faster to type in “Swift Compiler” into the search box to narrow down the results)
Next to “Objective-C Bridging Header” you will need to add the name/path of your header file. If your file resides in your project’s root folder simply put the name of the header file there. Examples: “ProjectName/ProjectName-Bridging-Header.h” or simply “ProjectName-Bridging-Header.h”.
Refer this link http://www.learnswiftonline.com/getting-started/adding-swift-bridging-header/
Welcome to Cocoapods Hell (a.k.a. : where the magic ends), where one must dive into his project build settings and make sense of what went wrong...
It's very hard to answer to you, as any number of reasons might be causing that.
Do you use the same target for Build / Run & Archive ? It might be because your libPods.a isn't copied into your Archive target
Have you installed Pods using pod install , have you tried playing that command again. (yes, faced with magic going wrong, one can sometimes rely on magic to save him again)
'Build' and 'Archive' product often differ in the build configuration they use (Build most of the time uses 'debug' configuration, while Archive uses 'release' configuration... ). Check your Pods configuration files (debug/release) and make sure they both include your MBProgressHud. Also, in your Project 'Info', check which pods Xcode configuration files are selected for 'debug' and 'release'
Good luck !
(PS : as MBProgressHud is a single file, and one you can often change, another solution is to get rid of Cocoapods and just copy/paste it)

Why QOCI plugin isn't working

I am trying to use Qt with QOCI (actually, along with other plugins as well) but for some reason I cannot. Here is what I did and result:
1- http://doc.qt.nokia.com/latest/sql-driver.html#qoci
plug-in is built successfully.
2- copied the plugin debug & release dll and lib files to plugins/sqldrivers and OCI.DLL to %WINDIR%\system32 (plugins/sqldrivers is where other plugins such as QPSQL and QMYSQL are)
3- QSqlDatabase::isDriverAvailable(QOCI) returns false where it returns true for QMYSQL and QPSQL. I did the same for QMYSQL and QPSQL
4- QStringList qsl = QSqlDatabase::drivers();
There is no QOCI in the string list returned. however there is QMYSQL, QPSQL and some others.
additional checks: opened qsqloci4.dll with dependency walker, 3 dlls were impossible to locate: 1-QtCore4.dll 2-QtSql4.dll 3-MSVSC80.dll However it is also impossible to locate them when opening qsqlpsql.dll with dependency walker. I believe that loading dll did not fail because of dependencies of qsqloci4.dll. But still, any ideas are welcomed.
NEWS
LoadLibrary(_T("C:\\QtSDK\\Desktop\\Qt\\4.7.3\\msvc2005\\plugins\\sqldrivers\\qsqloci4.dll");
and
LoadLibrary(_T("C:\\QtSDK\\Desktop\\Qt\\4.7.3\\msvc2005\\plugins\\sqldrivers\\qsqlocid4.dll");
fails!!! Please not that both of those files exist in the given path.
I believe that Qt also cannot load the plugin due to this error. Now question is a bit different but, why does LoadLibrary fail in this case? Any ideas?
Thanks in advance.
How to Build the Plugin on Windows
Choosing the option "Programmer" in the Oracle Client Installer from the Oracle Client Installation CD is sufficient to build the plugin.
Build the plugin as follows (here it is assumed that Oracle Client is installed in C:\oracle):
set INCLUDE=%INCLUDE%;c:\oracle\oci\include
set LIB=%LIB%;c:\oracle\oci\lib\msvc
cd %QTDIR%\src\plugins\sqldrivers\oci
qmake -o Makefile oci.pro
nmake
If you are not using a Microsoft compiler, replace nmake with make in the line above.
When you run your application you will also need to add the oci.dll path to your PATH environment variable:
set PATH=%PATH%;c:\oracle\bin
You need to create a folder call sqldrivers in the directory containing your exe. Put all the SQL driver DLLs you are using in there (for oracle oci.dll, ociw32.dll, oraociei12.dll, oraons.dll, qsqloci4.dll, qsqlocid4.dll).

Resources