Sample Header Ad - 728x90

Android Enthusiasts

Q&A for enthusiasts and power users of the Android operating system

Latest Questions

1 votes
1 answers
86288 views
Android Emulator - INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113
When I try to install an `apk` file through the `monkeyrunner` Python script, getting the error `INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113`. How can I resolve this issue? Detail of the virtual device is listed as follows: - CPU/ARM: **x86** - API Level: **24** - T...
When I try to install an apk file through the monkeyrunner Python script, getting the error INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113. How can I resolve this issue? Detail of the virtual device is listed as follows: - CPU/ARM: **x86** - API Level: **24** - Target: **Android 7.0 (Google Play)**
talha06 (151 rep)
Jul 15, 2017, 08:00 AM • Last activity: Mar 27, 2025, 08:03 AM
2 votes
1 answers
390 views
How to call termux binaries from a root shell?
Important things: 1. Termux binaries are in `/data/data/com.termux/files/usr/bin` 2. Termux libraries are in `/data/data/com.termux/files/usr/lib` 3. Android binaries are in `/system/bin` 4. Android libraries are (mostly) in `/system/lib64` I am trying to execute termux binaries from a root shell (o...
Important things: 1. Termux binaries are in /data/data/com.termux/files/usr/bin 2. Termux libraries are in /data/data/com.termux/files/usr/lib 3. Android binaries are in /system/bin 4. Android libraries are (mostly) in /system/lib64 I am trying to execute termux binaries from a root shell (on a rooted phone, after a successful "su" command). Most of them work, although they are not in the PATH. On ordinary Linuxes, the environment variable LD_LIBRARY_PATH could do the trick. However, the so-named "ordinary linuxes" are mostly open source linux distributions based on the GNU Libc, which has a dynamic linker (named "ld.so"), which can interpret it. However, Android binaries are using another libc, and another linker. My tests show it is in /system/bin/linker64 and it does not honor LD_LIBRARY_PATH. So, how could I execute termux tools from a root shell, which they can find /data/data/com.termux/files/usr/lib if needed?
peterh (1176 rep)
Dec 28, 2024, 11:27 PM • Last activity: Dec 31, 2024, 04:30 PM
0 votes
0 answers
202 views
Replace libc.so on rooted Android 13
I want to replace `libc.so` on my rooted Android 13. `remount` did not work, what are my options? ``` panther:/apex/com.android.runtime/lib64/bionic # file libc.so libc.so: ELF shared object, 64-bit LSB arm64, for Android 33, BuildID=cbc4c62a9b269839456f1d7728d8411e, not stripped ```
I want to replace libc.so on my rooted Android 13. remount did not work, what are my options?
panther:/apex/com.android.runtime/lib64/bionic # file libc.so
libc.so: ELF shared object, 64-bit LSB arm64, for Android 33, BuildID=cbc4c62a9b269839456f1d7728d8411e, not stripped
James W. (101 rep)
Sep 11, 2024, 03:19 PM • Last activity: Sep 13, 2024, 10:41 PM
0 votes
0 answers
38 views
Camera driver not read after modification
I am trying to make some changes based on the parsed addresses of the camera drivers (.bin files) on my Xiaomi device running Android 14. For example, the operating frequency of a certain sensor mode or something. The values in the parsed excel file match the hex values of the driver. But the proble...
I am trying to make some changes based on the parsed addresses of the camera drivers (.bin files) on my Xiaomi device running Android 14. For example, the operating frequency of a certain sensor mode or something. The values in the parsed excel file match the hex values of the driver. But the problem is that even a 1 byte change causes the camera to disappear from the system (I think the driver is not read), while a modified version of the same driver by another developer works as it should. What I want to know is there some kind of mechanism that checks the hash values of these drivers or the file creation dates? Maybe some kind of CRC verification etc.
Cihan EKEN (1 rep)
Sep 4, 2024, 06:30 AM
1 votes
0 answers
308 views
How to find out the native library directory of an app?
I want to find out the directory where the native libraries of an app have been extracted to. The path structure will depend on the Android version. On Android 14 it will be something links this: /data/app/~~7BZ-8zEDb3gzGGndbbDhg9==/com.some.app-GQePpzWb2GhdgZ8qftAnrH==/lib On a rooted phone, this w...
I want to find out the directory where the native libraries of an app have been extracted to. The path structure will depend on the Android version. On Android 14 it will be something links this: /data/app/~~7BZ-8zEDb3gzGGndbbDhg9==/com.some.app-GQePpzWb2GhdgZ8qftAnrH==/lib On a rooted phone, this would be an easy task. It's also possible via ADB and USB debugging: adb shell dumpsys package com.some.app | grep legacyNativeLibraryDir However, I want to know if there's a way to find out without rooting or activating USB debugging.
Ruben P. Grady (21 rep)
Aug 20, 2024, 10:11 PM
1 votes
0 answers
31 views
Is AndroidManifest necessary after app installation
As I understand during app installation the Java dex code is converted to native code (oat) which is basically native .so library. Is the manifest file still needed/used after that, or not? Can you point me to android code that loads this library, or makes it if it is not present in cache?
As I understand during app installation the Java dex code is converted to native code (oat) which is basically native .so library. Is the manifest file still needed/used after that, or not? Can you point me to android code that loads this library, or makes it if it is not present in cache?
EugeneZ (11 rep)
Jan 17, 2023, 11:28 PM
2 votes
1 answers
3587 views
How can I edit APK's library files (.so files)?
I want to install 2 different versions of an app. I researched a little and found that I need to change APK's package name with APK Editor. I decompiled the APK with APK Editor and changed everything related to the package name. For example, the app's package name was `com.oldapk.filee`, which I cha...
I want to install 2 different versions of an app. I researched a little and found that I need to change APK's package name with APK Editor. I decompiled the APK with APK Editor and changed everything related to the package name. For example, the app's package name was com.oldapk.filee, which I changed to com.newapk.file. Then I compiled it again and installed the new APK file. But I was unable to launch the new APK file. I enabled USB Debugging on my phone and started to looking crash logs. I saw that the package name was mentioned as com.oldapk.filee, and I started thinking about what could be wrong. I used ack on Linux to check which files have the com.oldapk.filee string and saw that 2 libraries (.so files) was including the old package name. I changed them in NotePad++ (Hex Editor Addon) to the new package name, but this time when the app launched, I was able to see starting screen, but it was crashing in 0.5 seconds after I launched it. I checked the crash logs again and then I saw that the package name was still old. Maybe the changes that I made didn't affect it. How can I edit these files?
Erikli (121 rep)
Dec 1, 2022, 05:09 PM • Last activity: Dec 4, 2022, 07:08 PM
2 votes
0 answers
2021 views
Is app_process executable directly?
When I ran the "file" command on app_process32 and app_process64, they are listed as shared objects (so files). From my understanding, .so files are not directly executable. However, based on what I read online (https://elinux.org/Android_Zygote_Startup and https://github.com/Genymobile/scrcpy/issue...
When I ran the "file" command on app_process32 and app_process64, they are listed as shared objects (so files). From my understanding, .so files are not directly executable. However, based on what I read online (https://elinux.org/Android_Zygote_Startup and https://github.com/Genymobile/scrcpy/issues/902) , it seems that app_process can be executed directly? Example, I see snippets such as
`
adb shell app_process -Djava.class.path=/data/local/tmp/classes.dex /sdcard shellService.Main
`
`
app_process [java-options] cmd-dir start-class-name [options]
` Perhaps my understanding of app_process is wrong?
localacct (121 rep)
Apr 6, 2022, 05:09 AM • Last activity: May 10, 2022, 09:55 AM
1 votes
0 answers
93 views
Update linking path
How do I add a new directory to linking path? Meaning add a directory to where the dynamic linker will look for shared libraries. In Ubuntu you can create a .conf file under /etc/ld.so.conf.d and write the path name to the directory you want to be searched by the dynamic linker in that file and run...
How do I add a new directory to linking path? Meaning add a directory to where the dynamic linker will look for shared libraries. In Ubuntu you can create a .conf file under /etc/ld.so.conf.d and write the path name to the directory you want to be searched by the dynamic linker in that file and run ldconfig command afterwards to update it. I am wondering if there is something similar under android.
Lite Riyusaki (61 rep)
Mar 6, 2022, 08:28 PM
0 votes
0 answers
509 views
Android encryption and Native Library Storage Locations
I have written an app that uses a native shared library via the Android NDK. I am particularly interested to know whether the .so file is stored in a location that would be encrypted if I were to enable encryption on the phone. When that app is installed on the phone, where does the .so file get sto...
I have written an app that uses a native shared library via the Android NDK. I am particularly interested to know whether the .so file is stored in a location that would be encrypted if I were to enable encryption on the phone. When that app is installed on the phone, where does the .so file get stored Also, is there only one or multiple copies of that .so file on the phone?
bph (181 rep)
Oct 2, 2015, 12:21 PM • Last activity: Sep 25, 2021, 03:33 PM
2 votes
1 answers
1709 views
Why does Android extract native libraries to 2 locations?
I have recently noticed that Android extracts the native libraries in the 'lib' directory in the APK to two different locations. They are in the app folder (`/data/app/package/lib/`) and the app data folder (`/data/data/package/lib`). Not to mention they're already contained in the APK. For games wh...
I have recently noticed that Android extracts the native libraries in the 'lib' directory in the APK to two different locations. They are in the app folder (/data/app/package/lib/) and the app data folder (/data/data/package/lib). Not to mention they're already contained in the APK. For games where these libraries total up to 50MB each, this wasted 100MB of my storage space on my SD card. Why does this happen? Is this normal? Is there any way to stop this from happening? I am on an Android Lollipop (5.1.1) running a Resurrection Remix ROM for Samsung Galaxy S3 Neo+.
rodit (187 rep)
May 2, 2016, 07:38 AM • Last activity: Sep 25, 2021, 03:30 PM
Showing page 1 of 11 total questions