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)
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)
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)
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_)
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_)
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)
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
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)
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