[android] ‘null’로 인해 설치 실패-Android Studio 3.5

APK 설치 문제가 발생한 이후로 Android 스튜디오를 3.5로 업데이트했습니다. 다음은 표시되는 유일한 로그입니다.

Installation did not succeed.
The application could not be installed: INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION
Installation failed due to: 'null'
Retry

이것은 실제 기기에 APK를 설치하려고 할 때 발생합니다. 장치에서 앱을 제거한 다음 빌드를 다시 실행하면 한 번만 설치되고 다음 설치에서 계속이 오류가 발생합니다. 에뮬레이터에서 잘 실행되지만 모든 것에 에뮬레이터를 사용할 수는 없습니다.

내가 시도한 것 :

  • Android Studio 구성 파일을 삭제했습니다.
  • 프로젝트에서 Gradle 파일을 삭제했습니다.
  • 캐시를 무효화하고 재설정했습니다.
  • 프로젝트를 정리 / 재 구축했습니다.
  • 비슷한 문제를 찾았습니다. Stackoverflow (내 문제와 일치하는 것이 없습니다)
  • 새로 설치됨 (SDK를 포함한 모든 파일 제거) Android Studio 3.5

최신 정보

내 컴퓨터에 Linux Mint를 설치하고 AS 3.5를 테스트했습니다. 어떤 이유로 Android 7 이하 장치에서도 모든 것이 잘 작동합니다.

이전 OS : Windows 10 1903

현재 OS : Linux Mint 19.2

이 문제는 Windows 시스템에서 비롯된 것 같습니다.



답변

실행 / 디버그 구성 대화 상자 열기 (Windows : 실행> 구성 편집)

You app> General> Installation Options> Install Flags를 편집 합니다 .

설치 플래그를 추가하십시오 -r -t.

이 플래그는 adb install -r -t apkpath

화면 그림


답변

환경 설정-> 디버거에서 “Use libusb backend”를 비활성화해야합니다.
여기에 이미지 설명 입력


답변

Android Studio의이 문제는 그 이하의 기기 API 26(Android 8)에서 발생합니다. 이는 InstantRun현재 ApplyChanges 로 알려진의 교체로 인해 발생합니다 .

다음 업데이트에서 수정하기 전에 두 가지 방법 만있을 것 같습니다.

  1. 에서 실행하십시오 API>=26.
  2. 코드를 변경할 때마다 에서 로 또는 그 반대로 run configuration변경 deploy됩니다 . 올바르게 이해하면 앱을 올바르게 다시 빌드하고 버그를 해결합니다.APKApp bundle

물론 AndroidStudio에서 앱을 실행하기 전에 기기에서 앱을 수동으로 삭제하는 옵션이 있습니다.


답변

나를 위해 앱을 제거하거나 프로젝트를 정리하면 문제가 “해결”됩니다. 덜 실망스럽게 만들기 위해 다음과 같이 빌드 유형을 디버그하기 위해 깨끗한 작업을 추가했습니다.

buildTypes {
    ...
    debug {
        clean
    }
    ...
}


답변

Apply Changes 에 관한 릴리스 노트 를 읽은 후 마침내 https://developer.android.com/studio/run#apply-changes-run-fallback 에서 해결책을 찾았습니다.

변경 사항 적용에 대한 대체 실행 활성화

Apply Changes and Restart Activity 또는 Apply Code Changes를 클릭하면 Android 스튜디오가 새 APK를 빌드하고 변경 사항을 적용 할 수 있는지 여부를 결정합니다. 변경 사항을 적용 할 수없고 변경 사항 적용이 실패하는 경우 Android 스튜디오는 대신 앱 실행 아이콘을 다시 실행하라는 메시지를 표시합니다. 그러나 이러한 상황이 발생할 때마다 메시지를 표시하지 않으려면 변경 사항을 적용 할 수 없을 때 앱을 자동으로 다시 실행하도록 Android 스튜디오를 구성 할 수 있습니다.

이 동작을 활성화하려면 다음 단계를 수행하십시오.

  1. 설정 또는 기본 설정 대화 상자를 엽니 다.
    • Windows 또는 Linux의 경우 메뉴 표시 줄에서 파일> 설정 을 선택하십시오 .
    • macOS의 경우 메뉴 표시 줄에서 Android Studio> Preferences 를 선택 합니다.
  2. Build, Execution, Deployment> Deployment로 이동합니다 .
  3. 변경 사항 적용 작업 중 하나에 대해 자동 대체 실행을 활성화 하려면 확인란 을 선택합니다 .
  4. 확인을 클릭하십시오.

Linux에서 실행되는 스크린 샷


답변

https://issuetracker.google.com/issues/139782879 에서 Google 팀이 언급 한대로 Lineage OS에 문제가 있습니다 .

LineageOS를 사용하여 장치에서 재현 할 수 있습니다. DeltaInstall에 사용하는 시스템 호출을 완전히 지원하지는 않습니다.

확실한 해결책은 없습니다 (빌드 폴더에서 APK를 제거하거나 애플리케이션을 제거하는 것 외에는).

이에 대한 해결 방법이 있어야하지만 현재로서는 LineageOS에 DeltaInstall이 없으며 항상 느린 전체 설치를 수행해야합니다.

NothingOP에서 지적한대로 변경 하면 APK가 기기에 배포되지 않으므로 (오류가 표시되지 않음) 문제가 해결되지 않습니다.

편집하다:

이것은 Android Studio 3.6에서 수정되었습니다.

피드백 주셔서 감사합니다. 이 문제는 최신 버전 3.6에서 수정되어야합니다.


답변

빌드> 클린 프로젝트 는 저를위한 작업입니다. 다른 설정을 변경하기 전에 먼저 시도하십시오.

해피 코딩 🙂