Say hello to LADB, a local ADB shell without needing root or a computer!

Search This thread

Surge1223

Recognized Contributor
Nov 6, 2012
2,615
7,422
Florida
Tyler, is it fair to say that your app depends on the coding I did? Coding which you yourself haven't been able to replicate?

No shame, it's hard to make adb play nice, it took me quite a while, I didn't charge 3 dollars or make a drama story about how broke I was though. I felt as if people should have this, for free without charge, I know I utilized a lot of others' work in making the free adb binary.
 
Last edited:
  • Love
Reactions: tytydraco

Surge1223

Recognized Contributor
Nov 6, 2012
2,615
7,422
Florida
Hi Surge1223! Thank you for your concern. Allow me to clarify.

Yes, I am using your compiled binaries! ADB and Fastboot are Apache v2.0 licensed (source). As per Apache v2.0 license terms, please take a look at Section 4:

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: ...

Here I do notice that in order for LADB to be fully compliant, I will need to include a NOTICE file as well as a copy of the Apache v2.0 license. That will be done. Besides that, the license states that I am allowed to provide ADB and derivatives of the ADB binary for use in my own projects, in object form.

Additionally, I'd like to think LADB as a container for the ADB binary. As newer versions of Android become more restrictive with executing binaries (for example, apps must comply with W^X regulations; binaries not contained in an app must be placed in /data/local/tmp and executed with elevated permissions if not W^X complaint). LADB also handles the pairing process between the device and the ADB server. It supports the newer Android 11 method of pairing with a code and port as well. The shell has additional features to allow cross-app command execution. LADB is a lot more than just a binary container.

Furthermore, I see you have an interest in where the money is going. I'm 18 years old with no direct income. I'm a university freshman. My sole source of income are my apps. I will not be donating this earned money to Covid Relief (although I wish I had the income to do so). I will be placing it in my savings account for my future.

Forgive me, but what it sounds like is that you ran Soong to cross compile the ADB binary and you resent derivative works. Keep in mind that this binary does not belong to you; it belongs to Google. You have simply compiled their source code with their provided build system.

I hope this helps. Please feel free to email me if you want to chat or have further discussion. I use this XDA thread to find and fix issues with my app. This would best be discussed elsewhere.

Sincerely,
Tyler Nijmeh
Omg you had to adapt to new app regulations... Damn bro that's impossible, yeah adding ndk jni defines in the gradle is so f'ing hard.
 
Last edited:
1620338651485.png
 

sln45

New member
Nov 6, 2016
3
1
Hi! Since you are already in an ADB shell, you can remove the "adb shell" part of the command and it should work. :)
I am not using that part of the command (see the example.) Maybe I am misunderstanding something? I receive an error saying that any command I make is missing.
 
Last edited:
  • Like
Reactions: 3mel

sln45

New member
Nov 6, 2016
3
1
Tyler, is it fair to say that your app depends on the coding I did? Coding which you yourself haven't been able to replicate?

No shame, it's hard to make adb play nice, it took me quite a while, I didn't charge 3 dollars or make a drama story about how broke I was though. I felt as if people should have this, for free without charge, I know I utilized a lot of others' work in making the free adb binary.
Please stop. If you're going to harass someone do it privately instead of this public freakout.
 

rossrosh007

Member
Jul 25, 2012
24
1
Under Wireless Debugging, the two options "Pair device with pairing code.” and "...With QR code" is not available.
How do I connect LADB?

I'm on Android 11 stock ROM on Samsung A50
 

zmag

Senior Member
Jan 25, 2011
357
89
I am using a Motorola G Stylus (2020) on Android 11 (not rooted) - I have Wireless Debugging enabled under Settings - System - Advanced - Developer options

My problem is nowhere can I find the port or pairing code. Nothing appears when I enable/disable the Wireless Debugging toggle, and there isn't a separate option under Settings anywhere.

Is there a default port/pairing code I can try? Or just what am I doing wrong here..
Hopefully someone with a Moto G Stylus (2020) on Android 11 could help me navigate my way through this? Thanks in advance, zmag
 

Top Liked Posts

  • There are no posts matching your filters.
  • 12
    Hey there XDA! I'm here to show off a new Android app I've published that I think a certain audience may find useful.

    Ever heard of ADB? If not, you likely won't need this app. But for those of you who have used or encountered ADB in the past, you know that you usually need a PC to shell into your phone. While yes, apps such as Termux exist, they don't have elevated privileges as ADB does.

    Behold, LADB! A truly local ADB shell server. That means no root, no computer, and no hassle.

    Here's how it works. LADB bundles an ADB server within the app libraries and extracts it upon runtime (W^X compliant). Normally, this server cannot connect to itself because it requires an active USB connection to be visible. However, Android's Wireless ADB Debugging feature allows the server and the client to speak to each other through localhost. LADB initializes the ADB server and asks to connect to localhost, solving this limitation.

    So, what can you do with it? Well, anything that ordinarily uses "adb shell <command>" can now be done locally. That means granting apps special privileges for things like SystemUI Tuner, many logcat apps, and generally anything else that needs elevated privileges. That's not all though. You can disable system apps using pm disable-user com.android.whatever, you can enable and disable system overlays with cmd overlay, you can get a logcat with logcat -d | tail -n 20, and the possibilities go on.

    Here's the link to the app. It is paid, and it's actually my first paid app in a very long time. If you just need to use the ADB server for a minute, you can buy the app, use it for a few minutes, and then refund it through the store (don't tell Google).

    https://play.google.com/store/apps/details?id=com.draco.ladb

    Note, this app is also open source! I'm a huge fan of FOSS so I went ahead and published the app on GitHub so that anyone can compile the app for themselves for free. Any purchases through the Google Play store can be considered as donations <3.

    https://github.com/tytydraco/ladb

    I'm always available for support if you encounter any issues either by direct message, by telegram (@tytydraco), or by email [email protected]. I'll also be answering questions in the comments of this post. Enjoy!
    4
    I can't believe you're charging folks, lol you didn't even do the leg work. Dude you realize your entire app depends on my work right?

    Donate the money to covid relief or something, don't take others work for your benefit, you did nothing, you literally coded a java ui, I've done this a bunch for substratum and andromeda with aapt and adb, lol you think you deserve 3 dollars for this? And that I deserve nothing? You literally need NEED my code for your crap to work, and you're going to charge these folks? I gave it away for free. What the hell is wrong with you?
    4
    Given you use the adb binaries I compiled, which is fine, I'd prefer if you made the app free for all folks :) Thanks.
    3
    Fwiw, I don't know you, and you probably think you took these binaries from osm0sis, but you didn't, I compiled them, and you can ask him if you want, he'll confirm it.

    The reason I don't want you to charge, is because without the binaries I compiled, the app doesn't work. You might say that your Java code for making a shell and user interface is worth it, if it is, if that's what you think the hardest part is, go for it and compile your own binaries.

    I realize they're open source, I didn't charge anyone or ask for any donations for my effort, and I expect the same from anyone using my work.

    Sadly you didn't even have the audacity to thank those who's shoulders you stepped on to make this app, nor did you even think to provide credit.

    As a dev for substratum and andromeda, both of which make a ui around a binary, I know first hand how hard it is.

    If you want to go the GPL route, I just ask you compile your binaries on your own, after all, you have no idea what changes I've made to adb, are you comfortable with selling that to folks?
    2
    I quote myself...
    I've a galaxy note 10+ (exynos) on android 10 and in the developer options there is no wireless debugging toggle, nevertheless ladb works!

    Now a question: is it possible to execute "adb backup' or 'adb restore' in some way?
    This functionality is on it's way :)