Android ROOT 에서 앱 을 조용히 설치 하고 엽 니 다.

2279 단어
최근 에 프로젝트 가 자동 으로 업데이트 되 는 수요 가 있 습 니 다. 아무 도 지 키 지 않 는 프로젝트 이기 때문에 조용히 업데이트 하고 업데이트 가 끝 난 후에 app 을 열 어야 합 니 다. 인터넷 에서 검색 한 결과 두 가지 방안 이 있 습 니 다.장 치 는 루트 가 지나 간 것 입 니 다.
1. 셸 설치, 방송 시작
셸 명령 을 통 해 app 을 설치 한 다음 에 방송 에 등록 하여 app 설치 에 성공 한 방송 을 받 은 다음 에 app 을 엽 니 다.테스트 결과 전혀 통 하지 않 는 다. 인터넷 에서 한 무리의 사람들 이 이리 저리 베껴 서 자신 은 전혀 테스트 한 적 이 없다.문 제 는 새 앱 을 설치 한 후 오래된 앱 이 마 운 트 해제 되 어 방송 을 받 지 못 하고 열 린 코드 를 실행 하 는 것 이다.그리고 셸 을 통 해 많은 장치 에 설치 되 어 있 으 면 설치 에 성공 한 방송 을 보 내지 않 는 다.
2. 셸 설치, 셸 시작
이 방법 은 방향 이 맞습니다. 구체 적 인 방식 은 pm install -r " + apkPath 설치 한 다음 에 sleep 60; am start -n / +activity 시작 프로그램, sleep 60 입 니 다.예.이 방법 은 생각 이 좋 지만 문제 가 있어 서 설치 에 성공 할 수 있 지만 열 수 없습니다. 콘 솔 에서 실행 해도 app 을 열 수 없습니다.
올 바른 방법
셸 은 여러 명령 을 연속 으로 실행 할 수 있 습 니 다. 구체 적 으로 다음 과 같 습 니 다.
1. command1; command2;command3
명령 이 성공 적 으로 실행 되 었 는 지 여 부 를 상관 하지 않 고 command 1, command 2, command 3 을 순서대로 실행 하 는 것 을 나타 낸다.
2. command1 && command2 && command3
순서 집행 을 나타 내기 도 하지만 첫 번 째 서법 과 다른 점 은 앞의 성공 적 으로 실행 해 야 다음 명령 을 수행 할 수 있 고 앞의 것 이 실패 하면 계속 실행 하지 않 는 다 는 것 이다.
3.command1 || command2 || command3
이러한 쓰기 방법 은 각 명령 간 에 논리 적 이거 나 관계 로 command 1 이 성공 적 으로 실행 되면 뒤의 명령 을 실행 하지 않 는 다 는 것 을 나타 낸다.command 1 실행 에 실패 하면 command 2 를 실행 하고 순서대로 유추 합 니 다.
이제 생각 이 뚜렷 해 졌 습 니 다. 우 리 는 명령 을 설치 하고 명령 을 켜 는 것 은 & & 를 통 해 코드 를 연결 하고 테스트 할 수 있 습 니 다.
 public static void install(String apkPath){

        String cmd1= "am start -n   /  +activity ";
        String cmd2 = "pm install -r " + apkPath + " && ";
        String cmd = cmd2 + cmd1;
        //Runtime  
        Runtime runtime = Runtime.getRuntime();
        try {
            Process localProcess = runtime.exec("su");
            OutputStream localOutputStream = localProcess.getOutputStream();
            DataOutputStream localDataOutputStream = new DataOutputStream(localOutputStream);
            localDataOutputStream.writeBytes(cmd);
            localDataOutputStream.flush();

        } catch (IOException e) {
            e.printStackTrace();
        }

    }              

쓰레기 에 베 끼 고 다 니 는 글 에 해 를 입지 않도록 도와 주 셨 으 면 좋 겠 습 니 다.
당신 에 게 도움 이 된다 면, 나 에 게 칭찬 을 눌 러 주세요.

좋은 웹페이지 즐겨찾기