เมื่อฉันพยายามดีบักแอปพลิเคชันบน 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ที่นี่ฉันสามารถแก้ไขได้
ไปที่Run -> แก้ไขการกำหนดค่า ...
ตรวจสอบให้แน่ใจว่าคุณมี "Make Gradle-aware Make" ในส่วน Before Launch:
เพื่อเพิ่มคลิก+เข้าสู่ระบบและเลือกยี่ห้อ Gradle ทราบและป๊อปอัพจะปรากฏเพียงแค่ปล่อยฟิลด์ข้อความว่างเปล่าและคลิกOKและOK
ในกรณีของฉันการดำเนินการ "Sync Project with Gradle Files" ช่วย ไม่ต้องรีสตาร์ท 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 ดูตัวอย่าง (สร้าง 143.2443734)
เรียกใช้สาขา git
* (แยกส่วนที่ 1a2bfff)
ดังนั้นที่นี่คุณจะเห็นได้เนื่องจากข้อผิดพลาดของสคริปต์ build 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);
}
}
ตรวจสอบให้แน่ใจว่าคุณไม่มีเครื่องหมายอัญประกาศเดี่ยวหรือ&ในเส้นทางของคุณ
ฉันพบเห็นปัญหาที่คล้ายกันโดยทั่วไปเมื่อฉันเปลี่ยนสาขา git สำหรับฉันปิด 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
UPDATE
การลบโฟลเดอร์.AndroidStudio[version]
และสูญเสียการตั้งค่าและแคชทั้งหมด ... ดูเหมือนว่าจะแก้ปัญหาได้
ในกรณีของฉันฉันใช้อักขระพิเศษในพา ธ ไฟล์แอปของฉัน ฉันปิด Android Studio และลบอักขระ'ออกจากเส้นทางไฟล์แอปของฉัน ทุกอย่างทำงานได้ดีเมื่อฉันเปิดโครงการใหม่
ฉันได้แก้ไขการสร้าง apk โดยใช้ตัวเลือก Build จากหน้าต่างด้านบนและ Build APK ไม่จำเป็นต้องทำอะไรแปลก ๆ
สำหรับ Unix เช่นผู้ใช้ (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 และต้องแน่ใจว่ามันใช้งานได้
ไฟล์ -> ทำให้แคช / รีสตาร์ทไม่ถูกต้อง
หากคุณลองคำตอบทั้งหมดข้างต้นแล้วมันไม่ได้ผลลองปิดการใช้งานคุณสมบัติ "เรียกใช้ทันที" อันนี้ช่วยฉันหลังจากความพยายามทั้งหมด
ไฟล์ -> การตั้งค่า -> สร้างดำเนินการปรับใช้ -> เรียกใช้ทันที -> ยกเลิกการเลือกที่ช่องทำเครื่องหมาย
ฉันยังได้รับปัญหานั้นหลังจากทำความสะอาดโครงสร้าง สำหรับฉันทางออกคือฉันเพิ่งทำข้อมูลให้ตรงกันและใช้งานได้สำหรับฉัน
ในกรณีของฉันปัญหาคือการกำหนดค่าการดีบักนั้นไม่ถูกต้องอย่างใดแม้ชื่อวิธีการทดสอบคลาสหรือแพคเกจไม่ได้เปลี่ยน
ฉันลบการกำหนดค่าจาก Run-> แก้ไขการกำหนดค่าที่นี่:
Android studio จะสร้างขึ้นมาใหม่โดยอัตโนมัติ
ประสบปัญหาเดียวกันกับ gradle 1.5
ฉันต้องล้างไฟล์บิลด์:
สร้าง -> โครงการที่สะอาด
และสร้าง APK เพื่อบังคับให้คอมไพล์และซิงค์ไฟล์ gradle ทั้งหมด:
สร้าง -> สร้าง APK
ฉันยังไม่รู้ว่ามันเกิดขึ้นได้อย่างไร
หากคุณใช้ Linux ลองตั้งค่าการอนุญาตในการเขียนไปที่โฟลเดอร์ app / build
ผมมีปัญหาเหมือนกัน. มันเป็นเพราะชื่อเท็จในเส้นทาง มีตัวละครพิเศษในเส้นทางเช่นนี้: C: \ User \ My App \ Projekte-Tablet & Handy ฉันลบตัวอักษร "&" และมันใช้งานได้ดี
ปัญหาของฉันคือการรวมนาทีในชื่อไฟล์ - มันค้นหา appname_debug_0.9.0.1_170214_2216.apk เมื่อไฟล์ที่สร้างขึ้นเป็น appname_debug_0.9.0.1_170214_2217.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 และเพียงแค่
adb install -r <paste of relative path>
และ apk ได้รับการติดตั้งและดีที่จะไป ปัญหานี้เกิดขึ้นใน OSX สำหรับฉัน
แก้ไขในเดือนพฤษภาคมปี 2018 ด้วย Android Studio 3.1 ใหม่ ลบ. gradle, .idea และสร้างไดเรกทอรีภายในโฟลเดอร์แอพของคุณ จากนั้นลองเรียกใช้อีกครั้งและคุณจะไม่เห็นข้อผิดพลาด
ซิงค์ล้างข้อมูลสร้างและทำให้แคชใช้ไม่ได้และเริ่มต้นใหม่
ไม่มีใครทำงานให้ฉันได้
ฉันได้ลบไฟล์ APK และ output.json ในโฟลเดอร์ release และ debug folder แล้วจากนั้นลอง sync, clean และ build จากนั้นก็ใช้งานได้ดี
ฉันเปลี่ยนรุ่น build.gradle ข้อมูล litle แล้วคลิก "Sync Now" เพียงแค่ตกลง
ลบไดเรกทอรี ~ / .gradle / caches / การทำเช่นนี้ในขณะที่ Android Studio เปิดอยู่ (อ้างถึงการติดตั้ง pm ชื่อแพคเกจที่ไม่ถูกต้อง) กด "ซิงค์โครงการที่มีไฟล์ Gradle" ใน Android Studio เรียกใช้โครงการและเส้นทางระยะไกลจะถูกต้อง
อ้างถึงคำตอบ @ Android Studio ทำให้ชื่อแพ็กเกจไม่ถูกต้องเมื่อใช้. apk
ตรวจสอบให้แน่ใจว่าในเส้นทางที่สร้างในบันทึกของคุณ - ในกรณีของคุณ:
/Users/MyApplicationName/app/build/outputs/apk/app-debug.apk
โฟลเดอร์ "เอาท์พุท" แน่นอนมีโฟลเดอร์ "apk"
นั่นคือปัญหาของฉันถ้ามันไม่อยู่ที่นั่นคุณจะต้องเรียกใช้งาน "assembleRelease" ในระดับล่างโดยทำตามภาพหน้าจอด้านล่าง
ไม่มีอะไรข้างต้นช่วยให้ฉัน แต่ฉันคิดออกโดยสลับไปที่รสชาติอื่นในแผงเครื่องมือสร้างและจากนั้นสลับกลับไปที่สิ่งที่ต้องการ
แก้ไขไฟล์: build.gradle (ไดเรกทอรีแอป) อันที่จริง: คุณไม่ควรเปลี่ยนไฟล์นี้เพียงแค่นี้เพื่อรับเคล็ดลับการซิงค์แล้วซิงค์โครงการ