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.4.tar.gz (27.8 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: android_prober-0.1.4.tar.gz
  • Upload date:
  • Size: 27.8 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.4.tar.gz
Algorithm Hash digest
SHA256 389e713ccf91fd3ede8687aa07ba787a70e41186246faeec65add07c1fb32a19
MD5 00fb9a32cc80237541dd175dd3fe9623
BLAKE2b-256 e652525235ecd9cb89523d1a3c0f1c8ec867fc2332528691654cae6a4ef48977

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for android_prober-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5eb697a180e86675cae9301426b94f1faa30c0d75bc589b66b7cae162d9e4963
MD5 275e39fb5dbb9d4e7e9035d78c8b1d19
BLAKE2b-256 125f703afb7c65b4584c6bac20b87032552ffca756da3cbba20f5342fb363ace

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