APK 파일이 디스크에 없습니다
Android Studio에서 디버그 응용 프로그램을 시도하면 다음과 같은 로그 출력이 나타납니다.
APK 파일 /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk가 디스크에 없습니다.
Android Studio를 다시 시작했지만이 문제를 해결할 수 없습니다. 어떻게 해결할 수 있습니까? 감사합니다
이 옵션을 클릭하여 오류를 해결하십시오.
Android Studio V 3.1로 업데이트 한 후이 문제가 발생하면 다음을 시도하십시오.
Android Studio 3.1로 업데이트했을 때 이와 동일한 문제에 직면했습니다. 내가 찾은 다른 모든 솔루션은 매번 청소하고 다시 작성해야하기 때문에 매우 수동적이었습니다. 그러나 Iman Marashi 의 대답 덕분에 나는 그것을 해결할 수있었습니다.
실행-> 구성 편집 ...으로 이동 하십시오.
실행 전 섹션에 "Gradle-aware Make"가 있는지 확인하십시오.
그것을 추가하려면 + 부호를 클릭하고 Gradle-aware Make를 선택 하면 팝업이 나타나고 텍스트 필드를 비워두고 OK and OK를 클릭하십시오 .
필자의 경우 "Gradle 파일과 프로젝트 동기화"를 실행하면 도움이되었습니다. Andoid Studio를 다시 시작하거나 캐시를 지우지 않았습니다.
결론을 알고 싶다면 마지막 섹션으로 이동하십시오. 감사.
일반적으로 프로젝트를 빌드하지 못하면 몇 가지 일반적인 트릭을 시도해보십시오.
- 빌드-> 프로젝트 정리
- 빌드 변형 확인
- 언급 한대로 Android Studio를 다시 시작하십시오.
그러나 Android Studio가 디스크에서 APK 파일을 찾을 수없는 경우 문제에 대해 더 구체적으로 설명하십시오. 이는 Android Studio가 실제로 프로젝트를 성공적으로 빌드하고 APK도 생성했음을 의미하지만 어떤 이유로 든 Android Studio에서 파일을 찾을 수 없습니다.
이 경우 로그에 따라 인쇄 된 디렉토리를 확인하십시오. 도움이됩니다.
예를 들면 다음과 같습니다.
Android Studio 2.0 Preview (빌드 143.2443734)
- 특정 커밋에 대한 체크 아웃 (헤드에서 분리되도록) : git checkout [commit_hash]
- 프로젝트 실행
- 안드로이드 스튜디오는 APK 파일 / Users / MyApplicationName / app / build / outputs / apk / app-debug-HEAD.apk 가 디스크에 존재하지 않음을 알려줍니다
- 디렉토리로 이동하면 실제로 이름이 다음과 같은 파일이 있습니다. app-debug- ( HEAD.apk (추가 괄호)
자식 분기 실행
* (1a2bfff에서 헤드 분리)
그래서 여기에서 gradle 빌드 스크립트의 실수로 인해 파일 이름이 잘못되었습니다.
위의 예는 동일한 문제를 야기 할 수있는 하나의 시나리오 일뿐 귀하와 동일한 근본 원인 일 필요는 없습니다.
결과적으로, 차이를 찾기 위해 디렉토리 를 확인하고 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);
}
}
아포스트로피가 없거나 경로에 & 가 없어야 합니다.
실행하기 전에 Grading-aware Make in Run / Debugging 구성 이 있는지 확인하십시오 .
일반적으로 자식 분기를 전환 할 때 비슷한 문제가 발생했습니다. 나를 위해 Android Studio를 종료 rm -rfv ~/Library/Caches/AndroidStudio*
하고 다시 시작하십시오 .Android Studio가 티켓입니다.
Android Studio 3.1.1에서 파일 | Gradle 파일과 프로젝트 동기화
Android Studio 3에서 파일 | 동기화하십시오.
그런 다음 프로젝트를 다시 실행하십시오.
올해는 2018 년입니다. Android Studio 버전은 3.2.0 alpha3이며 여전히이 문제가 발생합니다. 위의 어느 것도 나를 위해 일하지 않았으므로 여기에 2 센트가 있습니다.
이 일이 발생할 때마다 명령 줄에서 apk를 생성합니다.
gradlew assembleDebug
최신 정보
폴더를 삭제하고 .AndroidStudio[version]
모든 환경 설정 및 캐시를 잃어 버렸습니다 ... 문제를 해결하는 것 같습니다
필자의 경우 앱 파일 경로에 특수 문자를 사용하고있었습니다. Android Studio를 닫고 앱 파일 경로에서 ' 문자를 제거했습니다 . 프로젝트를 다시 열었을 때 모든 것이 잘 작동했습니다.
상단 창에서 빌드 옵션을 사용하여 APK를 빌드하고 APK 빌드를 해결했습니다. 이상한 일을 할 필요가 없습니다.
~ / .gradle / caches /를 제거하는 대신 사용자와 같은 유닉스 (Linux / MacOs X)의 경우 명령 행에서 다음을 수행하십시오.
$ 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 빌드 및 작동하는지 확인하십시오
파일-> 캐시 무효화 / 재시작
위의 모든 답변을 시도했지만 작동하지 않으면 "Instant Run"기능을 비활성화하십시오. 이것은 모든 시도 후에 나에게 도움이되었습니다.
파일-> 설정-> 빌드, 실행, 배포-> 즉시 실행-> 확인란 선택을 취소하십시오.
빌드를 정리 한 후에도 문제가 발생했습니다. 나에게 해결책은 방금 gradle을 동기화하고 나에게 효과적이었습니다.
필자의 경우 문제는 테스트 방법 이름, 클래스 또는 패키지가 변경되지 않았어도 디버깅 구성이 어떻게 든 무효화 되었다는 것입니다.
실행-> 구성 편집에서 구성을 삭제했습니다.
Android Studio는 자동으로 새로운 스튜디오를 만듭니다.
gradle 1.5와 동일한 문제에 직면했습니다.
빌드 파일을 정리해야했습니다.
빌드-> 프로젝트 정리
그리고 gradle 파일을 완전히 컴파일하고 동기화하도록 APK를 빌드하십시오.
빌드-> 빌드 APK
나는 왜 그것이 어떻게 또는 어떻게 일어 났는지 모른다.
Linux를 사용하는 경우 app / build 폴더에 대한 쓰기 권한을 설정하십시오.
나는 같은 문제가 있었다. 경로에 잘못된 이름이 있었기 때문입니다. 다음과 같은 경로에 특수 문자가 있습니다. C : \ User \ My App \ Projekte-Tablet & Handy "&"문자를 삭제했는데 제대로 작동했습니다.
내 문제는 파일 이름에 몇 분을 포함시키는 것이 었습니다. 생성 된 파일이 appname_debug_0.9.0.1_170214_2217.apk 일 때 appname_debug_0.9.0.1_170214_2216.apk를 찾았으므로 출력 파일 이름 코드 (다른 곳에서 나왔을 때)가 두 가지 지점에서 명확하게 호출되었습니다. 빌드에서.
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에서 나에게 발생했습니다.
2018 년 5 월 새로운 Android Studio 3.1로 해결되었습니다. .gradle, .idea를 삭제하고 앱 폴더 안에 디렉토리를 빌드하십시오. 그런 다음 다시 실행하면 오류가 표시되지 않습니다.
build.gradle 파일을 작은 정보로 변경하고 "지금 동기화"를 클릭하십시오. 확인하십시오.
~ / .gradle / caches / 디렉토리를 제거하십시오. Android Studio가 열린 상태에서이 작업을 수행해도됩니다. (오른쪽 패키지 이름을 설치하는 오후 참조) Android Studio에서 "Gradle 파일과 프로젝트 동기화"아이콘을 누릅니다. 프로젝트를 실행하면 원격 경로가 정확합니다.
.apk를 실행할 때 @ Android Studio가 패키지 이름을 잘못 얻습니다.
귀하의 경우 로그에 생성 된 경로에 있는지 확인하십시오.
/Users/MyApplicationName/app/build/outputs/apk/app-debug.apk
folder "outputs" indeed has an "apk" folder.
That was my problem, if it's not there, you will need to run the "assembleRelease" task in gradle by following the below screenshot;
Then the folder will be generated.
Nothing above helped me, but I figured this out by switching to another flavor in the Build Tools panel and then switching back to the needed one.
modify the file:build.gradle(app directory). in fact:you should not change this file , only by this to get sync tips,then sync project.
이 버튼은 "그라들 파일과 프로젝트 동기화"라고 불립니다. ... 버전 번호를 업데이트 할 때 항상 클릭해야합니다. 따라서 다른 APK 파일 이름이 생성됩니다 (파일 이름이 변경되지 않은 한, 항상 패키지 설치). 파일 이름이 캐시되고 있음을 암시합니다. 동등한 Gradle CLI 옵션은
--recompile-scripts
입니다.
참고 URL : https://stackoverflow.com/questions/34039834/the-apk-file-does-not-exist-on-disk
'Programing' 카테고리의 다른 글
탐색 표시 줄에서 "뒤로"버튼의 제목을 변경하는 방법 (0) | 2020.04.23 |
---|---|
'크기 조정'이벤트의 '종료'를 기다린 다음 작업을 수행하는 방법은 무엇입니까? (0) | 2020.04.23 |
다국어 데이터베이스의 스키마 (0) | 2020.04.23 |
classpath 디렉토리에서 자원 목록 가져 오기 (0) | 2020.04.23 |
window.onload 대 (0) | 2020.04.23 |