A wrapper script to make working with ADB (Android Debug Bridge) easier

Overview

Python-ADB-Wrapper

A wrapper script to make working with ADB (Android Debug Bridge) easier

This project was just a simple test to see if I could wrap some adb stuff in Python (and even automate backups via a list of strings/apps for example).

preview.mp4

I had some issues understanding the different license types, but to keep it simple: This Project is freely licensed / public domain? -> You can do whatever you want with it, no credits, no asking etc... Do what you want.

Upon startup / import, you'll be asked to set the ADB Path. If you don't want that, simply set the path in the script yourself and save it / deleted the rest of the path thing at the top. I trust that you are smart enough to handle this basic first step if your goal is to modify and reuse the code. If not, simply input your desired option.

The Script is kept as simple and the imports as short / low as possible (Only 1 -> Subprocess)

Function List

  • execute(command, deviceID):
  • execute(command):
  • selectDevice(deviceID):
  • listDevices():
  • listApps(appType="thirdparty", listPath=False):
  • listApps(listPath=False):
  • listFeatures():
  • listLibraries():
  • getFullAppName(app):
  • getFullAppPath(app):
  • backupAPK(appName):
  • backupAPKList(appNameList):
  • backupOBB(appName):
  • backupOBBList(appNameList):
  • backupFullApp(appName):
  • backupFullAppList(appNameList):

Notes:

  • execute exists twice in case you want to use a specific device id, regular execute with auto choose your connected android device.
  • execute is not just used mainly in the code by other functions. It can also be used by you in order to run a specific adb code, just in case.
  • listApps has multiple options, default being no params => Displays/returns a list of your regular (called third party excl. system apps) apps. If you set listPath to True, you'll receive the full complete path (with "cryptic" letters etc..., default = False)
  • backupAPK backups APK in the current folder where the script is being ran.
    • DO NOTE, sometimes the functions will say something about "NoneType". This issue should be fixed (renamed the overloaded function with list as param). Though if it does happen, it means probably that it couldn't find an app with that name.
  • backupOBB works now (updated)
  • backupFullApp works now (updated).
Owner
18iteration
18iteration
Handwrite - Type in your Handwriting!

Handwrite - Type in your Handwriting! Ever had those long-winded assignments, that the teacher always wants handwritten?

coded 7 Dec 06, 2022
Checkers Project Built Using Python

Checkers Project Built Using Python

Meekness Anyaeche 1 Nov 08, 2021
The purpose is to have a fairly simple python assignment that introduces the basic features and tools of python

This repository contains the code for the python introduction lab. The purpose is to have a fairly simple python assignment that introduces the basic

1 Jan 24, 2022
This is a backport of the BaseExceptionGroup and ExceptionGroup classes from Python 3.11.

This is a backport of the BaseExceptionGroup and ExceptionGroup classes from Python 3.11. It contains the following: The exceptiongroup.BaseExceptionG

Alex Grönholm 19 Dec 15, 2022
Set up a sidechain for the XRPL quickly and easily

Sidechain Launch Kit Introduction This directory contains python scripts to tests and explore side chains. This document walks through the steps to se

Xpring Engineering 15 Dec 08, 2022
Ultimate Score Server for RealistikOsu

USSR Ultimate Score Server for RealistikOsu (well not just us but it makes the acronym work.) Also I wonder how long this name will last. What is this

RealistikOsu! 15 Dec 14, 2022
A Desktop application for the signalum python library

Signalum Desktop A Desktop application on the Signalum Python Library/CLI Tool. The Signalum Desktop application is an attempt to develop a single too

BISOHNS 35 Feb 15, 2021
《practical python programming》的中文翻译

欢迎光临 大约 25 年前,当我第一次学习 Python 时,发现 Python 竟然可以被高效地应用到各种混乱的工作项目上,我立即被震惊了。15 年前,我自己也将这种乐趣教授给别人。教学的结果就是本课程——一门实用的学习 Python的课程。

编程人 125 Dec 17, 2022
All exercises done during the Python 3 course in the Video Course (World 1, 2 and 3)

Python3-cursoemvideo-exercises - All exercises done during the Python 3 course in the Video Course (World 1, 2 and 3)

Renan Barbosa 3 Jan 17, 2022
System Design Assignments as part of Arpit's System Design Masterclass

System Design Assignments The repository contains a set of problem statements around Software Architecture and System Design as conducted by Arpit's S

Relog 1.1k Jan 09, 2023
On this repo, you'll find every codes I made during my NSI classes (informatical courses)

👨‍💻 👩‍💻 school-codes On this repo, you'll find every codes I made during my NSI classes (informatical courses) French for now since this repo is d

EDM 1.15 3 Dec 17, 2022
Commodore 64 OS running on Atari 8-bit hardware

This is the Commodre 64 KERNAL, modified to run on the Atari 8-bit line of computers. They're practically the same machine; why didn't someone try this 30 years ago?

Nick Bensema 133 Nov 12, 2022
A Python application that helps users determine their calorie intake, and automatically generates customized weekly meal and workout plans based on metrics computed using their physical parameters

A Python application that helps users determine their calorie intake, and automatically generates customized weekly meal and workout plans based on metrics computed using their physical parameters

Anam Iqbal 1 Jan 13, 2022
A not exist cat image generator python package

A not exist cat image generator python package

Fayas Noushad 2 Dec 03, 2021
Py4J enables Python programs to dynamically access arbitrary Java objects

Py4J Py4J enables Python programs running in a Python interpreter to dynamically access Java objects in a Java Virtual Machine. Methods are called as

Barthelemy Dagenais 1k Jan 02, 2023
A fast Python in-process signal/event dispatching system.

Blinker Blinker provides a fast dispatching system that allows any number of interested parties to subscribe to events, or "signals". Signal receivers

jason kirtland 1.4k Dec 31, 2022
An async API wrapper for Dress To Impress written in Python.

dti.py An async API wrapper for Dress To Impress written in Python. Some notes: For the time being, there are no front-facing docs for this beyond doc

Steve C 1 Dec 14, 2022
OntoSeer is a tool to help users build better quality ontologies

Ontoseer This document provides documentation for the first version of OntoSeer.OntoSeer is a tool that monitors the ontology development process andp

Knowledgeable Computing and Reasoning Lab 9 Aug 15, 2022
This repo presents you the official code of "VISTA: Boosting 3D Object Detection via Dual Cross-VIew SpaTial Attention"

VISTA VISTA: Boosting 3D Object Detection via Dual Cross-VIew SpaTial Attention Shengheng Deng, Zhihao Liang, Lin Sun and Kui Jia* (*) Corresponding a

104 Dec 29, 2022
Flames Calculater App used to calculate flames status between two names created using python's Flask web framework.

Flames Finder Web App Flames Calculater App used to calculate flames status between two names created using python's Flask web framework. First, App g

Siva Prakash 4 Jan 02, 2022