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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: android_prober-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 6696243b6a71dcfa65d74ba0a61bf295df28ce9d9716edde9424b7b9e3300ab5
MD5 9a14369c0c900387605c59889bfa8659
BLAKE2b-256 f6abbca01c4df067be20830546a929c869499442ea9d23392d9c97859a8c9d57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for android_prober-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b5fe988be568f1703c322ece228c871b3ef4edbc6d5e5ec56e5935f4cbbc9c0c
MD5 333669d6a33a992045cf013ffbabf284
BLAKE2b-256 480703d38d5b282b46ecf98b59d9837661e7a5d860f7cef3f576dbf1b796f2d8

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