Skip to main content

Library for test android api's via service

Project description

Android API Testing

Upload Python Package build

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.py like 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.py without 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.

image

  • 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

android_prober-0.1.5.tar.gz (27.7 kB view details)

Uploaded Source

Built Distribution

android_prober-0.1.5-py3-none-any.whl (44.3 kB view details)

Uploaded Python 3

File details

Details for the file android_prober-0.1.5.tar.gz.

File metadata

  • Download URL: android_prober-0.1.5.tar.gz
  • Upload date:
  • Size: 27.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for android_prober-0.1.5.tar.gz
Algorithm Hash digest
SHA256 cbd5da4bf228a1b03cff6173dd955e4b803ccf4240a6b3fd7a67c6163313ad59
MD5 f7046967bbcf671f865d9d1ed009ddd7
BLAKE2b-256 31d866f9561683f85b1c172d317e695b3edc33327ff93714d8fd7e9800910001

See more details on using hashes here.

File details

Details for the file android_prober-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for android_prober-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 841d3b41a68ce86f3b3970da307eb6f84517fc9b1cbf682dce998debed02b562
MD5 19e12e4ca816451791609d215b44a997
BLAKE2b-256 be90dbfa3af060e687dbad627be24050ec9bbe5e1890e5c9187f3b2fe1b64b80

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page