-
Notifications
You must be signed in to change notification settings - Fork 102
Question: Should I be able to execute AOSP binaries via the adeb shell? #38
Comments
I'm running into this now. To be clear, the symptom is: unable to execute any command-line program built by the Android NDK toolchain. Indeed, these have the linker mentioned in the above question, in |
Same issue here. I think this only affects Android 10+ which introduced a new apex mechanism (https://source.android.com/devices/tech/ota/apex) to make low-level system components (e.g. the bionic runtime) upgradable. According to apex's documentation, apex components are essentially zip files under
You can see how apex files are mounted through
However, somehow I can't mount a loop device in adeb.
The only partial workaround that worked for me was to manually extract the content of
However, simply copying the files over breaks uprobes in bionic libraries. For example, if you try to attach to a
|
Hi , I have the same problem: b.attach_uprobe(name="/apex/com.android.runtime/lib64/bionic/libc.so", sym="strlen", fn_name="count"); Monitoring and management in place |
adeb is awesome in that I now have my usual zsh shell with vim working on my device (much like Termux on my phone), my original hope though was that I would get tools like
ldd
and be able to execute AOSP binaries via the adeb shell (and vice versa execute adeb binaries via the adb shell)Using
readelf
I see that a different linker/interpreter is used (/lib/ld-linux-aarch64.so.1
vs/apex/com.android.runtime/bin/linker64
(not mounted in the adeb shell)). Is there however a way to execute AOSP binaries?In one AOSP training exercise I did before finding adeb, we setup a rootfs system, manually built binaries with a gcc toolchain, installed all the deps in
/lib
and/lib64
, and I was able to execute these from the adb shell.Thanks
The text was updated successfully, but these errors were encountered: