Android API Testing
Library to test the AOSP Hardware APIs
Currently Available APIs
-
Bluetooth ᛒ
ABLE TO DO
- Connect , Disconnect
- Pair , UnPair
- Enable, Disable Service Provider
- look for more..
-
Sensor (Device Supported Sensor's)
-
Text To Speech
-
Android Runtime Permission's Based on Android API Version
-
Media Control's
-
Record Audio ⏺️
-
Wifi 👎
-
Battery 🔋
-
Make Call (or) Dial Intent 📲
-
Brightness 🔆
-
Gps ➤
-
Android Toast 🔔
-
Device Sensor Information 📡
-
Vibrator 📳
-
Share 🔗
-
Email 📧
-
Camera 📷
Android Support 📱
- Android Background Service (Broadcast Receiver)
NOTE 💡
- Using the Android Background Service API you can able to receive the Android Internal Event Message's
- Aeroplane mode change's 🛩️
- Headset adaptor state change's 🎧
- Incoming Phone Call 📲
- more...
Installation
pip install android-prober
Usage
- Create
main.pylike the contents below.
from kivy.app import App
from kivy.lang import Builder
from android_prober import AndroidProber
from requests import get
KV = '''
BoxLayout:
orientation: 'vertical'
BoxLayout:
size_hint_y: None
height: '30sp'
Button:
text: 'telephony_permission'
on_press: app.telephony_permission()
Button:
text: 'bluetoothPermission'
on_press: app.bluetooth_permission()
Button:
text: 'locationPermission'
on_press: app.location_permission()
ScrollView:
Label:
id: label
size_hint_y: None
height: self.texture_size[1]
text_size: self.size[0], None
'''
class BluetoothTestViaWebService(App):
BASE_URL = "http://localhost:5000"
def init(self):
""" while using webservice to invoke the API's """
TesterApp.use_flaskapp()
def on_pause(self):
return True
def telephony_permission(self):
response = get(f"{BASE_URL}/telephony_permission")
print(response.json)
def location_permission(self):
response = get(f"{BASE_URL}/location_permission")
print(response.json)
def bluetooth_permission(self):
response = get(f"{BASE_URL}/bluetooth_permission")
print(response.json)
def build(self):
self.init()
self.root = Builder.load_string(KV)
return self.root
if __name__ == '__main__':
BluetoothTestViaWebService().run()
- Create
main.pywithout webservice.
from kivy.app import App
from kivy.lang import Builder
from android_prober import AndroidProber
from android_prober import bluetooth
KV = '''
BoxLayout:
orientation: 'vertical'
BoxLayout:
size_hint_y: None
height: '30sp'
Button:
text: 'telephony_permission'
on_press: app.telephony_permission()
Button:
text: 'bluetoothPermission'
on_press: app.bluetooth_permission()
Button:
text: 'locationPermission'
on_press: app.location_permission()
ScrollView:
Label:
id: label
size_hint_y: None
height: self.texture_size[1]
text_size: self.size[0], None
'''
class BluetoothTest(App):
def on_pause(self):
return True
def bluetooth_permission(self):
response = bluetooth.bluetooth_permission()
print(response)
def build(self):
self.root = Builder.load_string(KV)
return self.root
if __name__ == '__main__':
BluetoothTest().run()
Build & Run
pip install -r requirements.txt
buildozer android debug
Install the generated apk into the target device.
Documentation
-
python for android webview recipe internally start and serve's web service running on port 5000.
-
You can also test api on Single Click.
-
Connect the device using ADB.
-
If your using adb via cable, Run this to expose the port
tcp/5000
adb forward tcp:5000 tcp:5000
Upcomming updates
-> https://github.com/gunaNeelamegam/android-prober/issues
- Stablity
- API for All Other Interface's
- FastAPI Intergration
Metadata
Release files for android-prober 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| android_prober-0.1.7.tar.gz | 28.1 kB | Without provenance | Details for android_prober-0.1.7.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| android_prober-0.1.7-py3-none-any.whl | Python 3 | none | any | Details for android_prober-0.1.7-py3-none-any.whl |
Total release size: 73.0 kB
Release files / android_prober-0.1.7.tar.gz
| Download URL | android_prober-0.1.7.tar.gz |
|---|---|
| Size | 28.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
78c233fb970dba1aac6c5dc45935ad767b7dc78921af876e0e27bf30e1cf2568
|
|
BLAKE2b-256 checksum How to use checksums |
025c9521e26f90185353c16974f0d6d043931f885718c19f8a524051cf711624
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.9.19
|
Release files / android_prober-0.1.7-py3-none-any.whl
| Download URL | android_prober-0.1.7-py3-none-any.whl |
|---|---|
| Size | 44.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c5ba679f3c54be24023b526534df331859ca0a37c570cce06e317db691beecbc
|
|
BLAKE2b-256 checksum How to use checksums |
b4b0375ed4a7f717ff70685e72e01bd6a4f5756c626d52cee4102bc775dd1737
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.9.19
|
Security for android-prober 0.1.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.