Android Studio สร้างไฟล์. apk ของฉันอยู่ที่ไหน


105

ฉันได้สร้างโครงการขึ้นมาใหม่ตั้งแต่ต้นจึงมีปัญหามากมาย ในขณะนี้ทุกอย่างทำงานได้ดียกเว้นว่าเมื่อฉันพยายามเรียกใช้แอปฉันได้รับข้อความว่า 'Local path ไม่มีอยู่จริง' โดยที่โลคัลพา ธ ชี้ไปที่พา ธ : AndroidStudioProjects \ MyProject \ MyProject .. \ build \ production \ MyProject.apkและเป็นจริงเพียงพอไม่มีไฟล์. apk ในตำแหน่งนั้นหรือที่อื่น ๆ ในระบบไฟล์โปรเจ็กต์

อย่างไรก็ตามฉันสามารถสร้างแอปได้โดยไม่มีปัญหาและการเรียกใช้ gradlew packageDebug ทำให้ฉันมีข้อความว่า " สร้างสำเร็จ " ดังนั้นจึงควรสร้าง. apk คำถามของฉันคือพวกเขาจะไปไหนหรือถ้าไม่ถูกสร้างขึ้นมาทำไมล่ะ?

เส้นทางการสร้างของชุดโมดูลแต่ละชุดอยู่ที่ไหน ฉันค่อนข้างสับสนเพราะ Project Structure-> Facets-> Android-> Compiler settings, Project Structure-> Modules-> Paths-> Compiler Output, build.gradle และ MyProject.iml ดูเหมือนจะมีบางอย่างเกี่ยวข้องกับ สร้างเส้นทาง แต่ฉันไม่ค่อยเข้าใจว่ามันเกี่ยวข้องกันอย่างไร

แก้ไข: ฉันรู้ว่าควรจะอยู่ตรงไหนแต่ไม่มีดังนั้นฉันจึงต้องการทราบวิธีเปลี่ยนเส้นทางการสร้าง

แก้ไข 2: ด้วยเหตุผลบางประการที่เรียกใช้gradlew buildจะสร้าง. apk แต่ไม่ได้สร้างหรือเรียกใช้จากภายในโปรแกรม

แก้ไข 3: นี่คือผลลัพธ์การสร้าง gradlew ของฉันโปรดทราบว่ามันสร้างได้สำเร็จ:

Creating properties on demand (a.k.a. dynamic properties) has been deprecated and is scheduled to be removed in Gradle 2.0. Please read http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html for information on the replacement for dynamic properties.
Deprecated dynamic property: "target" on "com.android.build.gradle.LibraryExtension_Decorated@9e9aabc", value: "android-16".
:TwoWayLib:mergeReleaseProguardFiles UP-TO-DATE
:TwoWayLib:packageReleaseAidl UP-TO-DATE
:TwoWayLib:prepareReleaseDependencies
:TwoWayLib:compileReleaseAidl UP-TO-DATE
:TwoWayLib:generateReleaseBuildConfig UP-TO-DATE
:TwoWayLib:mergeReleaseAssets UP-TO-DATE
:TwoWayLib:compileReleaseRenderscript UP-TO-DATE
:TwoWayLib:mergeReleaseResources UP-TO-DATE
:TwoWayLib:processReleaseManifest UP-TO-DATE
:TwoWayLib:processReleaseResources UP-TO-DATE
:TwoWayLib:compileRelease UP-TO-DATE
:TwoWayLib:processReleaseJavaRes UP-TO-DATE
:TwoWayLib:packageReleaseJar UP-TO-DATE
:TwoWayLib:packageReleaseLocalJar UP-TO-DATE
:TwoWayLib:packageReleaseRenderscript UP-TO-DATE
:TwoWayLib:bundleRelease UP-TO-DATE
:Rogue:prepareRogueProjectTwoWayLibUnspecifiedLibrary UP-TO-DATE
:Rogue:prepareDebugDependencies
:Rogue:compileDebugAidl UP-TO-DATE
:Rogue:generateDebugBuildConfig UP-TO-DATE
:Rogue:mergeDebugAssets UP-TO-DATE
:Rogue:compileDebugRenderscript UP-TO-DATE
:Rogue:mergeDebugResources UP-TO-DATE
:Rogue:processDebugManifest UP-TO-DATE
:Rogue:processDebugResources UP-TO-DATE
:Rogue:compileDebug UP-TO-DATE
:Rogue:dexDebug UP-TO-DATE
:Rogue:processDebugJavaRes UP-TO-DATE
:Rogue:validateDebugSigning
:Rogue:packageDebug
:Rogue:assembleDebug
:Rogue:prepareReleaseDependencies
:Rogue:compileReleaseAidl UP-TO-DATE
:Rogue:generateReleaseBuildConfig UP-TO-DATE
:Rogue:mergeReleaseAssets UP-TO-DATE
:Rogue:compileReleaseRenderscript UP-TO-DATE
:Rogue:mergeReleaseResources UP-TO-DATE
:Rogue:processReleaseManifest UP-TO-DATE
:Rogue:processReleaseResources UP-TO-DATE
:Rogue:compileRelease UP-TO-DATE
:Rogue:dexRelease UP-TO-DATE
:Rogue:processReleaseJavaRes UP-TO-DATE
:Rogue:packageRelease
:Rogue:assembleRelease
:Rogue:assemble
:Rogue:check UP-TO-DATE
:Rogue:build
:TwoWayLib:mergeDebugProguardFiles UP-TO-DATE
:TwoWayLib:packageDebugAidl UP-TO-DATE
:TwoWayLib:prepareDebugDependencies
:TwoWayLib:compileDebugAidl UP-TO-DATE
:TwoWayLib:generateDebugBuildConfig UP-TO-DATE
:TwoWayLib:mergeDebugAssets UP-TO-DATE
:TwoWayLib:compileDebugRenderscript UP-TO-DATE
:TwoWayLib:mergeDebugResources UP-TO-DATE
:TwoWayLib:processDebugManifest UP-TO-DATE
:TwoWayLib:processDebugResources UP-TO-DATE
:TwoWayLib:compileDebug UP-TO-DATE
:TwoWayLib:processDebugJavaRes UP-TO-DATE
:TwoWayLib:packageDebugJar UP-TO-DATE
:TwoWayLib:packageDebugLocalJar UP-TO-DATE
:TwoWayLib:packageDebugRenderscript UP-TO-DATE
:TwoWayLib:bundleDebug UP-TO-DATE
:TwoWayLib:assembleDebug UP-TO-DATE
:TwoWayLib:assembleRelease UP-TO-DATE
:TwoWayLib:assemble UP-TO-DATE
:TwoWayLib:check UP-TO-DATE
:TwoWayLib:build UP-TO-DATE

BUILD SUCCESSFUL

Total time: 10.848 secs

1
อาจซ้ำกันของตำแหน่ง Apk ใน New Android Studio
Gru

ควรจะอยู่ที่นั่นตามที่อเล็กซ์อธิบายหรืออื่น ๆ คุณสามารถตรวจสอบคำตอบข้างต้น
กรุ


ของฉันอยู่ใน. /app/release/app-release.apk
Steve Smith

คำตอบ:


156

YourApplication \ app \ build \ outputs \ apk


1
นี่คือที่ตั้งใหม่
Krylez

ขอบคุณ - ฉันพบที่นั่นสำหรับ Android Studios 1.1
Simon

8
ไม่มีนรกโฟลเดอร์แอปเลย
Shahid Karimi

ในเวอร์ชันที่ใหม่กว่าอยู่ใน YourApplication \ app \ build \ outputs \ apk * .apk
ธีรเกียรติจิตวัฒนารัตน์

1
ณ วันที่ ม.ค. 20:YourApplication/android/app/build/outputs/apk/release/app-release.apk
Ben Pritchard

23

ไปที่ไฟล์โครงการ AndroidStudio

  1. เลือกชื่อโครงการ
  2. เลือกแอพ
  3. เลือกบิลด์
  4. เลือกเอาต์พุต
  5. เลือก Apk

คุณจะพบไฟล์ APK ของแอพที่นี่หากคุณใช้งานแอพใน AVD หรือแม้แต่อุปกรณ์ฮาร์ดแวร์


แปลกฉันใช้ Android Studio 3.2 ในไดเร็กทอรีบิลด์ตามที่คุณกล่าวมามีintermediatesไดเร็กทอรีเท่านั้นที่Outputsหายไป
Allan Ruin

@AllanRuin คุณสร้าง APK หรือไม่
kelalaka

โปรดอธิบายขั้นตอนที่คุณได้กล่าวถึงอย่างละเอียด
Shubham Arya

20

หลังจากรวบรวมของฉันcodeใน Android Studio ฉันพบที่นี่:

~ \ MyApp_Name \ app \ build \ outputs \ apk \ app-debug.apk



11

ฉันมีปัญหาในการค้นหา apk ดีบักของฉัน Android Studio 0.8.6 ไม่แสดง apk หรือแม้แต่โฟลเดอร์ผลลัพธ์ที่ project / project / build / เมื่อฉันตรวจสอบเส้นทางเดียวกัน project / project / build / จาก windows folder explorer ฉันพบโฟลเดอร์ "output" ที่นั่นและ apk debug อยู่ข้างใน


Explorer ขัดข้องค่อนข้างยากหากคุณเปิดตำแหน่งนี้ไว้และ 'clean project' =)
Tapirboy

ไม่อยากจะเชื่อเลยว่าฉันเสียเวลาไปมากเพียงเพราะลืมไปว่าเพียงเพราะ Android Studio ไม่ได้แสดงไดเรกทอรีทั้งหมดให้คุณเห็นเสมอไป ...
Jon McClung

9

สำหรับ Android Studio:

หากคุณยังไม่ได้สร้าง APK อย่างน้อยหนึ่งครั้งคุณอาจไม่พบโฟลเดอร์ / Outputs / APK ไปที่ Build ใน Android Studio และหนึ่งในสามตัวเลือกสุดท้ายคือ Build APK เลือกตัวเลือกนั้น จากนั้นจะสร้างโฟลเดอร์นั้นและคุณจะพบไฟล์ APK ของคุณที่นั่น


ทั้งหมดข้างต้นไม่ได้ผลสำหรับฉันและสิ่งนี้ทำ หลังจากBuild APKนั้นจะปรากฏกล่องโต้ตอบแจ้งให้คุณทราบถึงlocateapk ว่าสะดวกแค่ไหน!
อึ้งเสกนาน

5

เมื่อ Gradle สร้างโครงการของคุณจะทำให้ APK ทั้งหมดอยู่ในไดเร็กทอรี build / apk คุณยังสามารถใช้คำสั่ง find แบบเรียกซ้ำแบบง่ายๆสำหรับ * .apk ในไดเร็กทอรีระดับบนสุดของโปรเจ็กต์ของคุณ

นี่คือคำอธิบายที่ดีกว่า ...

http://i.stack.imgur.com/XwjEZ.png

ดูภาพเต็มได้ที่http://i.stack.imgur.com/XwjEZ.png


ไดเรกทอรีนั้นกำหนดไว้ที่ไหน? เนื่องจากฉันไม่พบไฟล์ apk ใด ๆ ในไฟล์โครงการของฉัน
Migwell

เช่นเดียวกับในการแก้ไขของฉัน - ฉันรู้ว่าควรอยู่ที่ไหนแต่มันไม่ได้อยู่ที่นั่นดังนั้นเส้นทางเอาต์พุตอาจเสียบ้าง?
Migwell

ฉันได้เพิ่มแล้ว สิ่งเดียวที่หลีกเลี่ยงได้คือ TwoWayLib ห้องสมุดของฉันดูเหมือนจะสร้างขึ้นสองครั้ง นั่นไม่ได้อธิบายว่าทำไมสตูดิโอ android ไม่สามารถสร้าง apks ได้
Migwell

ฉันก็มีปัญหาเหมือนกัน - ทั้ง Gradle และ Android Studio ไม่ได้สร้างไฟล์ apk จริงๆ
Richard Russell


3

ใน android 3.1.0 ด้านบนใช้เส้นทางด้านล่างเพื่อค้นหา APK เวอร์ชันที่ลงชื่อ

home/AndroidStudioProjects/<projedct name>/app/app-release.apk

และใน windows

AndroidStudioProjects\{project name}\app\release\app-release.apk

2

ในกรณีของฉันที่จะได้รับการสร้างการแก้ปัญหา - ฉันต้องปิดตัวเลือก Instant Run

File → Settings → Build, Execution, Deployment → Instant Run และยกเลิกการเลือก Enable Instant Run

จากนั้นหลังจากรันโปรเจ็กต์ - ฉันพบบิลด์ของฉันในไดเร็กทอรี Application \ app \ build \ outputs \ appDebug \ apk


1

เมื่อคุณมีสตูดิโอ android สร้างไฟล์ apk ที่ลงนามแล้วจะใช้

    <property name="ExportedApkPath" value="$PROJECT_DIR$/PROJNAME/APPNAME.apk" />

ภายใน workspace.xml เพื่อค้นหาตำแหน่งที่จะวาง อย่างไรก็ตามหากคุณใช้./gradlew assembleReleaseให้วางไว้ใน PROJNAME / build / apk ผมมีปัญหาเดียวกัน. ด้วยเหตุผลบางประการสตูดิโอ Android ของฉันจะไม่แสดงอะไรเลยในไดเร็กทอรีย่อย apk ดังนั้น apk จึงมีไว้สำหรับเจตนาและวัตถุประสงค์ทั้งหมดที่ขาดหายไป แต่ถ้าคุณค้นหาด้วยตัวค้นหาก็จะมีแน่นอนที่สุด


path: /.idea/workspace.xml คุณสมบัติ: <property name = "ExportApk.ApkPath" value = "... " />
davee44


0

ลองดูคำถามนี้

TL; DR: ทำความสะอาดแล้วสร้าง

./gradlew clean packageDebug 

1
ปัญหาที่คล้ายกัน แต่ในกรณีของฉันที่เรียกใช้คำสั่งนั้นทำให้สร้างครั้งเดียว แต่ก็ยังใช้งานไม่ได้จากภายใน android studio
Migwell

1
มันยังไม่สร้างไฟล์. apk?
alikonda
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.