Open aleksandersumowski opened 5 years ago
In principle, it should be fairly straightforward to reimplement this code in an Android app. The problem is that Apple devices exclusively use AWDL as the link layer. To ensure interoperability, we currently need our own AWDL implementation OWL on the Linux machine – which will only run on a rooted device (if at all) since we need monitor mode and frame injection. If Apple one day decides to switch to Wi-Fi Aware for AirDrop, this might become feasible.
For some users, root is much less a problem than trying to get python version working on Android. So I also would be very interested in Android version.
Could i just paste the code in termux?
If you have root access and your WiFi chip and firmware support active monitoring, you should be able to run this from Termux. In theory at least.
@Atemu how to know if i need root or my stuff has this (poco x3 pro) + i search for termux alternative because i read it doesn't support python 3.6
@boynextdoor11 you absolutely need root in order to speak AWDL (see https://github.com/seemoo-lab/opendrop/issues/9#issuecomment-522560417). There is no Android device that will let you do monitor mode and frame injection without root.
If you have root, there's still a good chance it won't work because the WiFi radio in your phone may not support these things.
Any updates on this topic?
+1, still would be crazy for Android to have access to another Apple feature
I also up this. It would be awesome if I could use AirDrop on my Android tablet. Most students at our school have iPads and it's just inconvenient that they all are using AirDrop and I, as on of the few Android tablet users, cannot send or receive files over this protocol and the others need to go through extra effort to send me files, which most are not willing to go through. I do understand that there may be certain limitations with the current implementation, but I wonder whether certain things could be changed a bit to allow for Android compatibility (withou root).
I do understand that there may be certain limitations with the current implementation, but I wonder whether certain things could be changed a bit to allow for Android compatibility (withou root).
I doubt it. Please read https://github.com/seemoo-lab/opendrop/issues/9#issuecomment-522560417 for why. The reason root is required is because the low-level communication protocol (at the Wi-Fi layer) is different from what Android supports. No one in this project can work around this problem. Either Apple needs to drop AWDL, or Google (or I suppose, an aftermarket distribution) needs to add actual support for AWDL APIs to Android.
Why not making a root only app :)
Because it can't be just an app. It needs to be deeply integrated into the system, so only can be implemented as a part of custom ROM. For example, qcacld-3.0 driver used on some Qualcomm SoCs supports monitor mode, but it doesn't seem to support "active monitor mode" (at least on my phone with stock kernel) which is a hard requirement for owl. It might be possible to rebuild the driver and get it working, but no one cares enough to actually do it.
How come this Android app supports AirDrop? https://github.com/gaganmalvi/WarpShare
Edit: AWDL is actually not required for AirDrop to work. See this blog post: https://blog.i1nfo.com/posts/open-airdrop/
Note that it only appears to work one way: Android -> Mac.
Still impressive though.
Hi, is it possible to create an Android app that would enable sharing via AirDrop?