>

승인 된 목록에없는 앱 (BaselineApps.txt)에 대해 미리 결정된 시간마다 확인하도록 태스크 프로파일을 설정하고 제거하고 싶습니다. 나는 쉘 스크립팅과 tasker에 멍청한 놈입니다. 이것이 내가 지금까지 얻은 것입니다. 가장 효율적인 방법이 아닐 수도 있습니다.

  • Termux Task 플러그인을 통해 다음 명령을 실행합니다.

    오후 목록 패키지>/storage/emulated/0/Apps.txt
    diff --unchanged-line-format = --old-line-format = --new-line-format = '% L'/storage/emulated/0/BaselineApps.txt /storage/emulated/0/Apps.txt | sed 's/^ [^ :] * : //'>/storage/emulated/0/NewApps.txt
    
  • NewApps.txt 파일을 변수 % Apps로 읽기

  • ArraySet % Apps 값 % Apps

  • % Apps ()의 각 % eachapp마다

  • Shell pm uninstall % eachapp 실행

때때로 오류를 제외하고는 대부분 작동합니다. 누군가 나를 도울 수 있습니까?


  • 답변 # 1

    그래서 나는 내 문제를 알아 냈다. Android Nougat로 업그레이드했습니다. Pm 목록 패키지는 더 이상 사용되지 않습니다. 올바른 명령은 pm cmd package list packages입니다.

    내 설정은 다음과 같습니다 :

       Diff
        A1: Run Shell [ Command:cmd package list packages Timeout (Seconds):0 Use Root:On Store Output In:%tempapps Store Errors In: Store Result In: ] 
        A2: Write File [ File:Apps.txt Text:%tempapps Append:Off Add Newline:Off ] 
        A3: Termux [ Configuration:Execute ~/.termux/tasker/DiffApps.txt  Timeout (Seconds):0 ] 
        A4: Wait [ MS:250 Seconds:0 Minutes:0 Hours:0 Days:0 ] 
        A5: Read File [ File:NewApps.txt To Var:%Apps ] 
        A6: Array Set [ Variable Array:%Apps Values:%Apps Splitter: ] 
        A7: For [ Variable:%eachapp Items:%Apps() ] 
        A8: Flash [ Text:%eachapp Long:On ] 
        A9: Run Shell [ Command:pm uninstall %eachapp Timeout (Seconds):0 Use Root:On Store Output In: Store Errors In: Store Result In: ] 
        A10: End For 
        A11: Variable Clear [ Name:apps* Pattern Matching:On Local Variables Only:Off ]
    
    

관련 자료

  • 이전 cyanogenmod - 배터리 수명이 변하는 이유는 무엇입니까?
  • 다음 6.0 marshmallow - 안드로이드 x86 60은 마우스 통합을 지원하지 않습니까?