Android Studio에서 디버그 응용 프로그램을 시도하면 다음과 같은 로그 출력이 나타납니다.
APK 파일 /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk가 디스크에 없습니다.
Android Studio를 다시 시작했지만이 문제를 해결할 수 없습니다. 어떻게 해결할 수 있습니까? 감사합니다
Android Studio에서 디버그 응용 프로그램을 시도하면 다음과 같은 로그 출력이 나타납니다.
APK 파일 /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk가 디스크에 없습니다.
Android Studio를 다시 시작했지만이 문제를 해결할 수 없습니다. 어떻게 해결할 수 있습니까? 감사합니다
답변:
이 옵션을 클릭하여 오류를 해결하십시오.
Android Studio 3.1로 업데이트했을 때 이와 동일한 문제에 직면했습니다. 내가 찾은 다른 모든 솔루션은 매번 청소하고 다시 작성해야하기 때문에 매우 수동적이었습니다. 그러나 Iman Marashi 의 대답 덕분에 나는 그것을 해결할 수있었습니다.
실행-> 구성 편집 ...으로 이동 하십시오.
실행 전 섹션에 "Gradle-aware Make"가 있는지 확인하십시오.
그것을 추가하려면 + 부호를 클릭하고 Gradle-aware Make를 선택 하면 팝업이 나타나고 텍스트 필드를 비워두고 OK and OK를 클릭하십시오 .
필자의 경우 "Gradle 파일과 프로젝트 동기화"를 실행하면 도움이되었습니다. Andoid Studio를 다시 시작하거나 캐시를 지우지 않았습니다.
build.gradle
과 별도의 파일에있는 이름 지정 스크립트를 변경 한 후 나에게 속임수가 있었으므로 Android Studio는 변경 사항을 자동으로 선택하지 않고 동기화하라는 메시지를 표시하지 않았습니다.
File -> Sync Project with Gradle Files
stackoverflow.com/a/19932896/2527204
결론을 알고 싶다면 마지막 섹션으로 이동하십시오. 감사.
일반적으로 프로젝트를 빌드하지 못하면 몇 가지 일반적인 트릭을 시도해보십시오.
그러나 Android Studio가 디스크에서 APK 파일을 찾을 수없는 경우 문제에 더 구체적으로 설명하십시오. 이는 Android Studio가 실제로 프로젝트를 성공적으로 빌드하고 APK도 생성했음을 의미하지만 어떤 이유로 든 Android Studio에서 파일을 찾을 수 없습니다.
이 경우 로그에 따라 인쇄 된 디렉토리를 확인하십시오. 도움이됩니다.
예를 들면 다음과 같습니다.
Android Studio 2.0 Preview (빌드 143.2443734)
운영 자식 분기
* (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);
}
}
일반적으로 자식 분기를 전환 할 때 비슷한 문제가 발생했습니다. 나를 위해 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]
모든 환경 설정 및 캐시를 잃어 버렸습니다 ... 문제를 해결하는 것 같습니다
~ / .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)
}
}
제 경우에는 디버깅 구성이 유효하지 않다는 것이 문제였습니다. 테스트 방법 이름, 클래스 또는 패키지가 변경되지 않았어도 어떻게 든 되었다는 것입니다.
실행-> 구성 편집에서 구성을 삭제했습니다.
Android Studio는 자동으로 새로운 스튜디오를 만듭니다.
Linux를 사용하는 경우 app / build 폴더에 대한 쓰기 권한을 설정하십시오.
내 문제는 파일 이름에 몇 분을 포함시키는 것이 었습니다. 생성 된 파일이 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에서 나에게 발생했습니다.
~ / .gradle / caches / 디렉토리를 제거하십시오. Android Studio가 열린 상태에서이 작업을 수행해도됩니다. (오른쪽 패키지 이름을 설치하는 오후 참조) Android Studio에서 "Gradle 파일과 프로젝트 동기화"아이콘을 누릅니다. 프로젝트를 실행하면 원격 경로가 정확합니다.
위의 어느 것도 도움이되지 않았지만 빌드 도구 패널에서 다른 맛으로 전환 한 다음 필요한 것으로 다시 전환하여이를 알아 냈습니다.