Esempio n. 1
0
 def test_get_devices(self):
     adb = ADB()
     adb.set_adb_path()
     adb.start_server()
     err, devices = adb.get_devices()
     print(str(err))
     if len(devices) > 0:
         print(str(devices))
Esempio n. 2
0
    def test_get_pid_on_device(self):
        adb = ADB()
        adb.enable_debug()
        adb.set_adb_path()
        adb.set_target_device()

        pid = utils.get_pid_on_device(adb, 'com.android.commands.monkey')
        utils.kill_proc_on_device(adb, pid)
        print(pid)
Esempio n. 3
0
 def test_install(self):
     adb = ADB()
     adb.set_adb_path()
     _, ds = adb.get_devices()
     device_id = ds[0]
     adb.set_target_device(device_id)
     adb.enable_debug()
     output = adb.install(reinstall=True, pkgapp='ctssetup.apk')
     print("output: " + str(output))
Esempio n. 4
0
def adb_init():
    adb = ADB()

    adb.set_adb_path(parameter.variables.executable_path)

    adb.DEFAULT_TCP_PORT = parameter.variables.default_tcp_port
    adb.DEFAULT_TCP_HOST = parameter.variables.wireless_address

    if not adb.get_version():
        raise ConnectionError("Unable to communicate with adb daemon!")

    return adb
Esempio n. 5
0
def main():
    # creates the ADB object
    adb = ADB()
    # IMPORTANT: You should supply the absolute path to ADB binary
    if adb.set_adb_path('/home/bigzhang/Android/Sdk/platform-tools/adb') is True:
        print "Version: %s" % adb.get_version()
    else:
        print "Check ADB binary path"

    devices_all = get_devices(adb)
    #print devices_all
    functions = []
    functions.append(push_iozone)
    functions.append(push_iozone)

    for devs in devices_all:
        do_work(adb, functions, devs)
Esempio n. 6
0
def main1():
    
    # set ADB path
    path = r'adb'
    adb = ADB(path)
    
    print path
    adb.set_adb_path(path)
    
    print "[+] Using PyADB version %s" % adb.pyadb_version()
    
    # verity ADB path
    print "[+] Verifying ADB path...",
    if adb.check_path() is False:
        print "ERROR"
        exit(-2)
    print "OK"
    
    # print ADB Version
    print "[+] ADB Version: %s" % adb.get_version()
    
    print ""
    
    # restart server (may be other instances running)
    print "[+] Restarting ADB server..."
    adb.restart_server()
    if adb.lastFailed():
        print "\t- ERROR\n"
        exit(-3)
    
    # get detected devices
    dev = 0
    while dev is 0:
        print "[+] Detecting devices..." ,
        error,devices = adb.get_devices()
    
        if error is 1:
            # no devices connected
            print "No devices connected"
            print "[+] Waiting for devices..."
            adb.wait_for_device()
            continue
        elif error is 2:
            print "You haven't enought permissions!"
            exit(-3)
            
        print "OK"
        dev = 1

    # this should never be reached
    if len(devices) == 0:
        print "[+] No devices detected!"
        exit(-4)

#    # show detected devices
#    i = 0
#    for dev in devices:
#        print "\t%d: %s" % (i,dev)
#        i += 1
#    
#    # if there are more than one devices, ask to the user to choose one of them
#    if i > 1:
#        dev = i + 1
#        while dev < 0 or dev > int(i - 1):
#            print "\n[+] Select target device [0-%d]: " % int(i - 1) ,
#            dev = int(stdin.readline())
#    else:
#        dev = 0
#    
#    # set target device
#    try:
#        adb.set_target_device(devices[dev])
#    except Exception,e:
#        print "\n[!] Error:\t- ADB: %s\t - Python: %s" % (adb.get_error(),e.args)
#        exit(-5)
#
#    print "\n[+] Using \"%s\" as target device" % devices[dev]
#    
#    # check if 'su' binary is available
#    print "[+] Looking for 'su' binary: ",
#    supath = adb.find_binary("su")
#
#    if supath is not None:
#        print "%s" % supath
#    else:
#        print "Error: %s" % adb.get_error()
#
#    # 'su' binary has been found
#    if supath is not None:
#        print "[+] Checking if 'su' binary can give root access:"
#        rootid = adb.shell_command('%s -c id' % supath)
#        if adb.lastFailed() is False and 'root' in rootid.replace('(',')').split(')'): # it can provide root privileges
#            print "\t- Yes"
#            get_whatsapp_root(adb,supath)
#        else: # only have normal-user 
#            print "\t- No: %s" % adb.get_error()
#            get_whatsapp_nonroot(adb)
#    else:
#        get_whatsapp_nonroot(adb)

    exit(0)