Esempio n. 1
0
 def disable(self):
     logging.info('Func:disable')
     Package=input(Luan.i22)
     Package=Package.replace(" ", "")
     logging.info('Func:disable input:'+Package)
     if Package=='':
         errexit(4)
         return
     self.adb.adb_shell().shell_pm_disable_user(Package)
Esempio n. 2
0
 def enable(self):
     logging.info('Func:enable')
     Package=input(Luan.i21)
     logging.info('Func:enable input:'+Package)
     Package=Package.replace(" ", "")
     if Package=='':
         errexit(4)
         return
     self.adb.adb_shell().shell_pm_enable(Package)
Esempio n. 3
0
 def clear(self):
     logging.info('Func:clear')
     Package=input(Luan.i20)
     logging.info('Func:clear input:'+Package)
     Package=Package.replace(" ", "")
     if Package=='':
         errexit(4)
         return
     self.adb.adb_shell().shell_pm_clear(Package)
Esempio n. 4
0
 def install(self):
     logging.info('Func:install')
     apkfile=input(Luan.i32)
     args_=input(Luan.i19)
     logging.info('Func:install apk_file args_'+apkfile+' '+args_)
     if apkfile=='':
         errexit(4)
         return
     elif args_=='':
         self.adb.install(apkfile=apkfile)
         return
     self.adb.install(apkfile,args_)
Esempio n. 5
0
 def uninstall(self):
     logging.info('Func:uninstall')
     apkfile=input(Luan.i31)
     args_=input(Luan.i19)
     logging.info('Func:uninstall pak args_'+apkfile+' '+args_)
     if apkfile=='':
         errexit(4)
         return
     elif args_=='':
         self.adb.uninstall(apkfile)
         return
     self.adb.uninstall(apkfile,args_)
Esempio n. 6
0
 def push(self):
     logging.info('Func:push')
     print(Luan.i9)
     urlp=input(Luan.i10)
     if urlp=='':
         print(Luan.i11)
     urlc=input(Luan.i12)
     urlc=urlc.replace(" ", "")
     if urlc=='':
         print(Luan.e10)
         errexit(4)
         return
     self.adb.push(urlc=urlc,urlp=urlp)
Esempio n. 7
0
def relatedApkfile():
    global p
    if p == 'Windows':
        print('W:您可能需要管理员权限运行!')
        os.system(r'reg delete "HKEY_CLASSES_ROOT\.apk" /f')
        os.system(r'reg delete "HKEY_CURRENT_USER\SOFTWARE\Classes\.apk" /f')
        os.system(r'reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.apk" /f')
        os.system(
            r'reg delete "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.apk" /f'
        )
        os.system(r'')
        os.system(r'reg add "HKCR\.apk" /f /ve /t REG_SZ /d "adbshellpy.apk"')
        os.system(
            r'reg add "HKCR\adbshellpy.apk" /f /ve /t REG_SZ /d "Android Application Package"'
        )
        os.system(
            'reg add "HKCR\\adbshellpy.apk\\DefaultIcon" /f /ve /t REG_SZ /d "'
            + os.getcwd() + '\\apk.ico\\"')
        os.system(
            r'reg add "HKCR\adbshellpy.apk\shell" /f /ve /t REG_SZ /d "open"')
        os.system(
            r'reg add "HKCR\adbshellpy.apk\shell\open" /f /ve /t REG_SZ /d "查看或安装"'
        )
        os.system(
            'reg add "HKCR\\adbshellpy.apk\\shell\\open" /f /v Icon /t REG_SZ /d "'
            + os.getcwd() + '\\apk.ico\\"')
        os.system(
            'reg add "HKCR\\adbshellpy.apk\\shell\\open\\command" /f /ve /t REG_SZ /d ""py.exe" "'
            + os.getcwd() + '\\adbshellpy_libapkfile.py" "%%1\""')
    else:
        errexit(7)
        return
    import platform
    if platform.machine() == 'AMD64':
        net_dir = os.environ.get(
            'windir') + '\\Microsoft.NET\\Framework64\\v4.0.30319\\regasm.exe'
    else:
        net_dir = os.environ.get(
            'windir') + '\\Microsoft.NET\\Framework\\v4.0.30319\\regasm.exe'
    if os.path.exists(net_dir):
        if os.path.exists('apkshellext.dll'):
            print('显示apk原本图标...')
            os.system('"' + net_dir + '" /codebase apkshellext.dll')
        else:
            print('W:文件 apkshellext.dll 缺失,apk图标将不会关联')
    else:
        print(
            'E:Microsoft.NET v4.0.30319 or newer is required, but it isnot installed !'
        )
        return
Esempio n. 8
0
 def pull(self):
     logging.info('Func:pull')
     print(Luan.i13)
     urlp=input(Luan.i10)
     #urlp=urlp.replace(" ", "")
     logging.info('Func:pull p is:'+urlp)
     if urlp=='':
         print(Luan.e11)
         errexit(4)
         return
     urlc=input(Luan.i38)
     logging.info('Func:pull c is:'+urlc)
     if urlc=='':
         print(Luan.i14)
         urlc=os.getcwd()
     self.adb.pull(urlp=urlp,urlc=urlc)     
Esempio n. 9
0
def parseinput(a=1):#1二级目录(adbmode) 2二级目录(othermode)
    global nowdevice,f,shellex,Luan
    adb=adbcommand(nowdevice)
    inputtext=input('>>>')
    #inputtext=inputtext.replace(" ", "")
    global changes,github,version,builddate,adbfile
    p=adbshellpyinformation.p
    #adbfile=adbshellpyinformation.adbfile
    try:from adbshell_alpha import conf
    except:from adbshell import conf
    logging.info("Input is:'"+inputtext +"'  Device is:"+nowdevice)
    #通用指令
    if inputtext=='home':
        home()
        parseinput()
        return
    if inputtext == 'cls':
        clear()
        parseinput(a)
        return
    if inputtext == 'set':
        print(Luan.ltext1)
        parseinput(2)
        return
    if inputtext =='exit':
        adb.kill_server()
        errexit(2)
        sys.exit(0)
    if inputtext =='environment':
        print('Version:'+version+' BuildDate:'+builddate+' Platform:'+p+' UpdateAddress:'+github+' AdbBin:'+adbfile)
        parseinput(a)
        return
    if inputtext=='who':
        b=adb.s
        c=who()
        nowdevice=c
        adb=adbcommand(c)
        print(Luan.i33+b+Luan.i34+c)
        parseinput(1)
        return
    if inputtext == 're-install':
        #重新安装
        install(p,2)
        parseinput(1)
        return
    if inputtext =='update':
        f.update()
        parseinput(1)
        return
    if inputtext =='changes':
        f.changes_()
        parseinput(1)
        return        
    if a==1:#2级目录(adbmode)
        if inputtext == '':
            parseinput(1)
            return
        if inputtext == 'back':
            print(Luan.e12)
            parseinput(1)
            return
        if inputtext=='fastboot':
            f.fastbootmode()
            parseinput(1)
            return            
        if inputtext=='kfmark':
            f.kfmark()
            parseinput(1)
            return            
        if inputtext == 'icebox':
            f.icebox()
            parseinput(1)
            return
        if inputtext == 'relatedapk':
            f.relatedapk()
            parseinput(1)
            return            
        if inputtext=='piebridge':
            f.piebridge()
            parseinput(1)
            return
        if inputtext=='shizuku':
            f.shizuku()
            parseinput(1)
            return
        if inputtext=='push':
            f.push()
            parseinput(1)
            return
        if inputtext=='pull':
            f.pull()
            parseinput(1)
            return
        if inputtext=='screencap':
            f.screencap()
            parseinput(1)
            return
        if inputtext=='dumpsys':
            f.dumpsys()
            parseinput(1)
            return
        if inputtext=='settings':
            f.settings()
            parseinput(1)
            return
        if inputtext=='input':
            f.input()
            parseinput(1)
            return
        if inputtext=='windowmode':
            f.windowmode()
            parseinput(1)
            return
        if inputtext=='':
            parseinput(1)
            return
        if inputtext=='applist':
            f.applist()
            parseinput(1)
            return
        if inputtext=='clear':
            f.clear()
            parseinput(1)
            return
        if inputtext=='enable':
            f.enable()
            parseinput(1)
            return
        if inputtext=='disable':
            f.disable()
            parseinput(1)
            return
        if inputtext=='compile':
            f.compile()
            parseinput(1)
            return
        if inputtext=='uninstall':
            f.uninstall()
            parseinput(1)
            return
        if inputtext=='install':
            f.install()
            parseinput(1)
            return
        if inputtext=='download':
            adb.reboot(mode=5)
            parseinput(1)
            return
        if inputtext=='sideload':
            adb.reboot(mode=4)
            parseinput(1)
            return
        if inputtext=='bl':
            adb.reboot(mode=2)
            parseinput(1)
            return
        if inputtext=='rec':
            adb.reboot(mode=3)
            parseinput(1)
            return
        if inputtext=='shutdown':
            adb.reboot(mode=1)
            parseinput(1)
            return
        if inputtext=='reboot':#0 不带参数 1.-p 2.fastboot(bl) 3.recovery 4.sideload 5.挖煤
            adb.reboot()
            parseinput(1)
            return
        if inputtext=='usb':
            adbcommand.usb()
            parseinput(1)
            return
        if inputtext=='tcpipconnect':
            adbcommand.tcpip()
            parseinput(1)
            return
        if inputtext=='devices':
            adb.devices()
            parseinput(1)
            return
        if inputtext=='kill_server':
            adb.kill_server()
            parseinput(1)
            return
        if inputtext=='start_server':
            adb.start_server()
            parseinput(1)
            return
        if inputtext=='root':
            adb.root()
            parseinput(1)
            return
        if inputtext=='shell':
            adb.shell()
            parseinput(1)
            return
        if inputtext.lower()=='fixgithub':
            update().fixgithub()
            parseinput(1)
            return            
        if inputtext=='back':
            parseinput(1)
            return
        if inputtext == 'help':
            logging.info('Into Helper View.')
            adbshellpy_libhelper.helper().usage()
            adbshellpy_libhelper.main()
            logging.info('Helper View Exit.')
            parseinput(1)
            return
        if inputtext=='clean-data':
            logging.info('Func:clean-data')
            print(Luan.a6)
            if input('>>>')=='yes':
                logging.info('Func:clean-data:input is yes,clean.')
                adb.kill_server()
                os.rmdir('adb')
                os.rmdir('__pycache__')
                os.rmdir('build-tools')
                os.remove('adbshell.ini')
                print(Luan.i35)
                logging.info('Func:Done. Exit.')
                input()
                sys.exit()
        if shellex=='enable':
            adb.shell(inputtext)
            parseinput(1)
            return            
    if a==2:#2级目录(othermode)
            logging.info('Now,you are in mode 2')
            if inputtext =='back':
                parseinput(1)
                return
            if inputtext == 'setting' or inputtext == '':
                logging.info('Func:mode2:setting')
                print('adbbin uselinuxpkgmanagertoinstalladb=enable [other]')
                print('[other]:'+str(conf.options('adbshell')))
                inputtext=input(Luan.i36)
                if inputtext=='adbbin':
                    inputtext=input('ADBFile:>>>')
                    if os.path.exists(inputtext)== False:
                        print(Luan.i37)
                        errexit(4)
                        parseinput(2)
                        return
                    h=input(Luan.a7)
                    if h=='Y' or h=='y' or h=='':
                        conf.set("adbshell", "adbfile", inputtext)
                        conf.write(open("adbshell.ini", "w"))
                        parseinput(2)
                        return
                    print(Luan.w5)
                    return
                if inputtext=='uselinuxpkgmanagertoinstalladb':
                    if p == "Windows":
                        print(Luan.e13)
                        errexit(4)
                        parseinput(2)
                        return
                    if p == "Linux":
                        inputtext=input('Set:>>>[默认enable]')
                    h=input(Luan.a7)
                    if h=='Y' or h=='y' or h=='':
                        conf.set("adbshell", "uselinuxpkgmanagertoinstalladb", inputtext)
                        conf.write(open("adbshell.ini", "w"))
                        parseinput(2)
                        return
                    print(Luan.w5)
                    return
                if inputtext=='':
                    parseinput(2)
                    return
                #otherSet
                inputtext_=input('SET:>>>')
                h=input(Luan.a7)
                if h=='Y' or h=='y' or h=='':
                    conf.set("adbshell", inputtext, inputtext_)
                    conf.write(open("adbshell.ini", "w"))
                    parseinput(2)
                    return
                parseinput(1)
                return
            errexit(2)
    print(Luan.w6)
    parseinput(a)
    return