codememo

APK 파일이 디스크에 없습니다.

tipmemo 2023. 8. 26. 11:56
반응형

APK 파일이 디스크에 없습니다.

Android Studio에서 디버그 응용 프로그램을 시도하면 다음 로그 출력이 표시됩니다.

APK 파일 /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk가 디스크에 없습니다.

Android Studio를 다시 시작했는데 이 문제를 해결할 수 없습니다.어떻게 해결해야 하나요?감사해요.

오류를 해결하려면 이 옵션을 클릭합니다.

Run: View > Tool Windows > Gradle > [project] > Tasks > build > build

Android Studio V 3.1로 업데이트한 후 이 문제가 발생하면 다음을 시도하십시오.

Android Studio 3.1로 업데이트할 때도 이와 같은 문제에 직면했습니다.제가 여기서 찾은 다른 모든 솔루션은 매번 청소하고 다시 만들어야 하기 때문에 매우 수동적입니다. 전혀 좋지 않습니다.하지만 여기서 이만 마라시의 대답 덕분에 저는 그것을 해결할 수 있었습니다.

실행으로 이동 -> 구성 편집...

시작 전 섹션에 "Gradle-aware Make"가 있는지 확인합니다.

Run/Debug Configurations

추가하려면 + 기호를 클릭하고 Gradle-aware Make를 선택하면 팝업이 나타납니다. 텍스트 필드를 비워두고 OK 및 OK클릭합니다.

저의 경우 "Sync Project with Gradle Files"를 실행하는 것이 도움이 되었습니다.Andoid Studio를 다시 시작하거나 캐시를 지우지 않았습니다.

결론만 알고 싶으시면 마지막 부분으로 가주세요.감사해요.

일반적으로 프로젝트 빌드가 실패할 경우 다음과 같은 일반적인 트릭을 시도할 수 있습니다.

  • 빌드 -> 프로젝트 정리
  • 빌드 변형 확인
  • Android Studio를 다시 시작합니다(말씀하신 대로).

그러나 Android Studio가 디스크에서 APK 파일을 찾을 수 없는 문제에 대해 자세히 설명합니다.이것은 Android Studio가 실제로 프로젝트를 성공적으로 구축하고 APK를 생성했다는 것을 의미하지만, 어떤 이유에서인지 Android Studio는 파일을 찾을 수 없습니다.

이 경우 로그에 따라 인쇄된 디렉토리를 확인하시기 바랍니다.도움이 됩니다.

예:

Android Studio 2.0 Preview 사용(빌드 143.2443734).

  1. 특정 커밋(헤드에서 분리되도록) 체크아웃: git checkout [commit_hash]
  2. 프로젝트 실행
  3. Android Studio의 특징:APK 파일 /Users/MyApplicationName/app/build/outputs/apk/app-debug-HEAD.apk가 디스크에 없습니다.
  4. 디렉터리로 이동하면 실제로 이름이 app-debug-(HEAD.apk(괄호가 추가됨)인 파일이 있습니다.
  5. 룽기트 분기

    *(헤드가 1a2bfff에서 분리됨)

여기 보시는 바와 같이 제 그라들 빌드 스크립트의 실수로 인해 파일 이름이 잘못 지정되었습니다.

위의 예는 동일한 문제를 야기할 수 있는 하나의 시나리오일 뿐, 동일한 근본 원인일 필요는 없습니다.

따라서 디렉터리를 확인하고(차이점을 찾기 위해) build.gradle 스크립트를 확인하는 것이 좋습니다(아래와 같이 apk 이름을 변경할 수 있습니다).

applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def newFileName = "whatever you want to name it";
            def apk = output.outputFile;
            output.outputFile = new File(apk.parentFile, newFileName);
        }
    }

경로에 아포스트로피 또는 &가 없는지 확인합니다.

시작 섹션 전에 등급 인식 Make in Run/Debugging 구성 >>이 있는지 확인합니다.

Like this image

저는 보통 git branch를 전환할 때 비슷한 문제를 목격했습니다. Studio Android Studio를 ㅠㅠㅠㅠㅠㅠrm -rfv ~/Library/Caches/AndroidStudio*Android Studio를 다시 시작하는 것이 티켓입니다.

Android Studio 3.1.1에서 File | Sync Project with Gradle Files를 선택합니다.

Android Studio 3에서 File | Synchronize를 선택합니다.

그런 다음 프로젝트를 다시 실행합니다.

2018년입니다.Android Studio 버전은 3.2.0 alpha3이며 여전히 이 문제가 발생합니다.위의 어떤 것도 저에게 도움이 되지 않았기 때문에, 여기 제 2센트가 있습니다.

이러한 상황이 발생할 때마다 명령줄에서 apk를 생성합니다.

gradlew assembleDebug

갱신하다

.AndroidStudio[version]기본 설정과 캐시를 모두 잃어버리는 것은...되는 것 .

저의 경우, 앱 파일 경로에 특수 문자를 사용하고 있었습니다.안드로이드 스튜디오를 닫고 앱 파일 경로에서 ' 캐릭터를 제거했습니다.제가 프로젝트를 다시 시작했을 때 모든 것이 잘 작동했습니다.

저는 상단 창에서 Build 옵션과 Build APK를 사용하여 apk를 구축하는 것을 해결했습니다.이상한 짓 할 필요 없어요

Unix like 사용자(Linux/MacOs X)의 경우 명령줄에서 ~/.gradle/caches/를 제거하는 대신 다음을 수행합니다.

$ cd path_to_you_project
$ touch build.gradle

그런 다음 Android Studio에 APK 구축을 요청하면 Gradle 캐시 자체가 재설정됩니다.

제 문제는 APK에 버전 번호를 추가하고 있었다는 것입니다.버전 번호를 변경하고 Gradle을 다시 동기화한 것이 문제를 해결했습니다.

def appendVersionNameVersionCode(variant, defaultConfig) {
    variant.outputs.each { output ->
        if (output.zipAlign) {
            def file = output.outputFile
            def removeApp = file.name.replace("app-", "")
            def removeType = removeApp.replace("-release", "")
            def fileName = removeType.replace(".apk", "." + defaultConfig.versionName + ".apk")
            output.outputFile = new File(file.parent, fileName)
        }

        def file = output.packageApplication.outputFile
        def removeApp = file.name.replace("app-", "")
        def removeType = removeApp.replace("-release", "")
        def fileName = removeType.replace(".apk", "." + defaultConfig.versionName + ".apk")
        output.packageApplication.outputFile = new File(file.parent, fileName)
    }
}

빌드 ---> APK를 빌드하고 제대로 작동하는지 확인합니다.

파일 -> 캐시 무효화/다시 시작

위의 모든 답변을 시도했지만 작동하지 않으면 "즉시 실행" 기능을 사용하지 않도록 설정하십시오.이것은 모든 노력 끝에 저에게 도움이 되었습니다.

파일 -> 설정 -> 빌드, 실행, 배포 -> 인스턴트 실행 -> 확인란 선택 취소

저도 빌드를 청소한 후에 그 문제가 생겼습니다.저에게 있어 해결책은 그저 동기화하는 것이었고 그것은 저에게 효과가 있었습니다.

저의 경우 문제는 테스트 방법 이름, 클래스 또는 패키지가 변경되지 않았음에도 디버깅 구성이 어떻게든 무효가 된다는 것이었습니다.

다음 위치에서 [실행] - [구성 편집]에서 구성을 삭제했습니다.

enter image description here

Android 스튜디오는 자동으로 새 스튜디오를 만듭니다.

캐시 동기화, 치료, 재구축 및 무효화 및 재시작

그들 중 아무도 저를 위해 일하지 않았습니다.

릴리스 폴더와 디버그 폴더에서 APK와 output.json 파일을 삭제한 후 동기화, 정리, 빌드를 시도하여 정상적으로 작동했습니다.

또는 단순히 apk와 output.json 파일이 있는 폴더를 삭제합니다(디버깅/해제의 경우).

Gradle 1.5에서도 동일한 문제에 직면했습니다.

빌드 파일을 정리해야 했습니다.

빌드 -> 프로젝트 정리

그리고 APK를 구축하여 Gradle 파일의 전체 컴파일 및 동기화를 강제로 수행합니다.

빌드 -> APK 빌드

저는 아직도 그 일이 왜 또는 어떻게 일어났는지 모릅니다.

Linux를 사용하는 경우 앱/빌드 폴더에 대한 쓰기 권한을 설정해 보십시오.

저도 같은 문제가 있었습니다.경로에 잘못된 이름이 있기 때문입니다. 경로에 다음과 같은 특수 문자가 있습니다.C:\User\My App\Projekte-Tablet&핸디는 & 캐릭터를 삭제했고 잘 작동했습니다.

문제는 파일 이름에 분을 포함하는 것이었습니다. 생성된 파일이 appname_debug_0.9.0.1_170214_2216.apk일 때 appname_debug_0.9.0.1_170214_2217.apk를 검색했기 때문에 빌드의 두 다른 지점에서 출력 파일 이름 코드(Nabbed)가 명확하게 호출되었습니다.

applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def project = "appname"
            def SEP = "_"
    //        def flavor = variant.productFlavors[0].name
            def buildType = variant.variantData.variantConfiguration.buildType.name
            def version = variant.versionName
            def date = new Date();
            def formattedDate = date.format('yyMMdd_HHmm')

            def newApkName = project + SEP + /*flavor + */ SEP + buildType + SEP + version + SEP + formattedDate + ".apk"

            output.outputFile = new File(output.outputFile.parent, newApkName)
        }
    }

저에게 문제는 apk가 존재하는 동안 어떻게든 apk를 찾을 수 없다는 것이었습니다.

The APK file /Users/Paul/AndroidStudioProjects/android-tv-launcher/ui/build/outputs/apk/nameofapk.apk does not exist on disk.
Error while Installing APK

내가 해야 할 일은 apk-copy 상대 경로를 마우스 오른쪽 버튼으로 클릭하는 것이었고,

adb install -r <paste of relative path>

그리고 apk가 설치되어 있어서 가기 좋습니다.이 문제는 저에게 OSX에서 발생했습니다.

새로운 Android Studio 3.1로 2018년 5월에 해결되었습니다..gradle, .idea를 삭제하고 앱 폴더 내의 디렉토리를 빌드합니다.그런 다음 다시 실행하면 오류가 표시되지 않습니다.

build.gradle 파일을 약간 변경하고 "Sync Now"를 클릭합니다.

디렉토리 ~/.gradle/caches/를 제거합니다.Android Studio가 열려 있는 동안에도 괜찮습니다. (잘못된 패키지 이름을 설치하는 pm 참조) Android Studio에서 "Sync project with Gradle files" 아이콘을 누르면 프로젝트를 실행하면 원격 경로가 정확해집니다.

Refer answer @ Android Studio에서 .apk를 실행할 때 패키지 이름이 잘못 표시됩니다.

로그에 생성된 경로(해당 경우)에서 다음 사항을 확인합니다.

/Users/MyApplicationName/app/build/outputs/apk/app-debug.pk

"apk" 폴더에는 실제로 "apk" 폴더가 있습니다.

그것이 제 문제였습니다. 문제가 없다면 아래 스크린샷을 따라 " 릴리스 조립" 작업을 제대로 실행해야 합니다.

Steps to run the gradle assembleRelease task 그러면 폴더가 생성됩니다.

위의 어떤 것도 도움이 되지 않았지만 빌드 도구 패널에서 다른 버전으로 전환한 다음 필요한 버전으로 전환하여 이 문제를 해결했습니다.

파일:build.gradle(app 디렉토리)을 수정합니다.사실: 이 파일을 변경해서는 안 됩니다. 동기화 팁을 받은 다음 프로젝트를 동기화하기 위해서만 이 파일을 변경해야 합니다.

언급URL : https://stackoverflow.com/questions/34039834/the-apk-file-does-not-exist-on-disk

반응형