I succeed AOSP build in Nexus 4 and install google apps.
Also, I tried download app from google play and succeed install.
But, When I execute that app, failed execute.
So, check the Logcat I can find 'load .so failed' error in android run time.
Why doesn't working?
Please, how can I find solution this problem?
The short answer is: You probably can't fix this yourself.
The *.so files probably are native running libraries the developer of the app used in his code.
One guess:
Android 5 is capable of 64bit now.
While the Java part of the code works automatically with 64bit, the so-files need to be prepared for it by the developer.
Another guess:
The new ART Runtime causes problems in JNI. For developers, see this: http://developer.android.com/guide/practices/verifying-apps-art.html and
You should contact the developer and ask whether he checked his App on Android 5.
Related
First of all i am aware that there have been alot of similair questions asked already, but somehow i cant figure anything out, I have a python-kivy program that I want to run on Android, the program works perfectly on my computer, I've ran various simple programs using Python Interpreter with Kivy, so far it was the best open source I could find, but there is some nasty problems with it.
I've been to https://kivy.org/docs/guide/packaging-android.html#packaging-android and since i already had Kivy Launcher installed on my phone i tried that one first, however when i open the app i get a message:
No projects are available to luanch. Please place a project into storage/emulated/0/kivy and restart this application. Press back button to exit.
at https://kivy.org/docs/guide/packaging-android.html#packaging-android I readed that the 'project' consists of my main code, lets say main.py, and android.txt, the android.txt must contain a few things that i wont mention now, these two files must be placed in a folder and placed at the asked directory.
I did this, but i still got the same message.
I've thought of trying Buildozer, but i did not seem to find a proper instalation for it on android.
I'm asking advice, becouse i think that the answer to my problems might not be so dificuilt, so any advice apreciated.
Thanks and regards.
Cid-El
ps. Android Lollipop, python 3.4
You may try using buildozer to package your app and deploy to Android device directly for debug, you only need to install this in your machine, and change the developer options in Android to allow external source.
Basically once you install the buildozer, you need to initialise a project by:
buildozer init
Make sure you have the required dependencies and targeted Android SDK/NDK in your system.
Then it's only a simple edit the build manifest for Python specific dependencies (external modules etc).
And run locally by:
buildozer android deploy run
Read more about buildozer here
Hope this helps.
I'm trying to launch an app on the emulator, and my app has zero native code. I'm getting an error on install:
INSTALL_FAILED_NO_MATCHING_ABIS
Any emulator setup should just work for an app with no native code, so I don't understand what's going on.
Maybe your app still has some native libraries inside it: they may come from 3rd party libraries you would be depending on.
Open your APK as a zip file and check inside ./lib if you really have nothing in here.
I have a feeling I know the answer to this question, but I figure I would see what SO had to say.
I'm hoping to create a console app that can take an .apk file and extract metadata (such as version name/version number). I'm able to use PackageManager.getPackageArchiveInfo() from my Android app just fine, but I'd need to be able to call it from the command line. However, the classes in the android.jar appear to just be stubs, so it doesn't end up working.
Does anyone know of a way to do that?
For apks for which you do not have the signing certificate, you cannot access the contents of the apk beyond seeing that the contents exist.
As you noted, the android.jar is stubs. This is because the android system relies on native code which is designed to run on ARM processors and (probably) wouldn't run on your system. So, they package stub versions of all the java code and the only way to 'run' the actual library is to be executing in a vm with a full version of the android.jar, which would be an ARM environment ( a real handset or a emulator).
There could be ways to setup a 'console' app to do this, but it would have to be communicating with an Android VM to get a working version of the android.jar. I'm guessing that might be more effort than you'd want to sink into this.
I was able to open the .apk file and view it's contents (including AndroidManifest.xml) with WinZip...
'Hope that helps...
I'm developping a android's aplication using some shared
libraries written by me and compiled with ndk-r5b. The application works,
y and the calls to the libraries works too, but I detected some errors,
segmentations faults, and I need to debug it, but, I don't know how debug
native code from android and I don't know if I can generate core dumps,
as in linux, for debug my libraries.
Any idea?
The ndk comes with ndk-gdb, which supposedly allows you to debug native applications. Also, if you download the whole andriod open source project, they also have some version of gdb used for debugging. Look in the docs/ folder of the ndk to learn about using it. This tutorial might also prove helpful: http://vilimpoc.org/blog/2010/09/23/hello-gdbserver-a-debuggable-jni-example-for-android/
However, as shown in a recent question I asked: Running ndk-gdb with package not found error on motorola phone I still can't get it to work.
Edit: You said in the comments you were using a Samsung Device: Samsung decide to wreck havoc on some of the crucial internals required for native debugging, but it's easily fixable if you have root access to the device. If you use the --verbose flag, you'll probably find that the error is different than that, a package unknown error. That's because it's looking in /data/system/packages.list, but samsung renamed that file to /dbdata/system/packages.list. So if you make a symlink to that file in /data/system/packages.list, (requires root access) it should work. Or at least so claims the ndk mailing list: http://osdir.com/ml/android-ndk/2011-03/msg00036.html
I just starting as an Android app developer and I already have a problem with my first app :(
It's a webapp created with jQTouch and packaged with PhoneGap that is on the market for a few weeks. One customer is running it on a Motorola Milestone (Canadian equivalent of the Droid) using Android 2.1 and she says it's crashing.
I tried to reproduce it with the AVD I defined from the following website and I do get a SIGSEGV exception.
http://mobile.tutsplus.com/tutorials/android/common-android-virtual-device-configurations/
I looked around and I learned that I have to run the log trace in a tool to view the reason behind the crash. I found two tools, stack.py and parse_stack.py, however they require a command to be installed: arm-eabi-addr2line and I don't have it.
Searching again, I found it on GitHub: https://github.com/jsnyder/arm-eabi-toolchain/
Now, trying to install this command, it says I don't have a recent enough version of GCC. I have the latest XCode installed and I think it comes with GCC. Or else it would just say that GCC is not found.
Questions
How do I get this command, arm-eabi-addr2line, installed on my Mac?
Am I doing this for nothing? If stack.py tells me something is wrong in the Android SDK, what can I do to fix my app?
VERY BIG THANK YOU!
You do not debug SIGSEGV crashes unless you are writing your own firmware. Those represent very low-level crashes in Android.
Package up a sample project that demonstrates the crash and upload it to http://b.android.com, along with a list of steps for how to reproduce the crash. Also include there the SIGSEGV crash dump that you are seeing in LogCat.
MacPorts is a great tool for installing anything you might need to debug this as it can install python, and newer versions of gcc for you http://www.macports.org/