Android Studio .apk dosyamı nerede oluşturuyor?


103

Projemi sıfırdan yeniden inşa ediyorum, bu yüzden onunla ilgili birçok sorun oldu. Şu anda her şey harika çalışıyor, ancak uygulamayı çalıştırmayı denediğimde 'Yerel yol yok' mesajını alıyorum . , yerel yol şu yola işaret ediyor: AndroidStudioProjects \ MyProject \ MyProject .. \ build \ production \ MyProject.apk ve yeterince doğru, o konumda ya da proje dosya sisteminde başka herhangi bir yerde .apk dosyası yok.

Ancak, herhangi bir sorun ile uygulama geliştirmenin edebilir ve gradlew packageDebug çalışan 'bana mesaj verir başarılı inşa .apks yüzden,' gerektiğini oluşturuluyor olması. Sorum şu, nereye gidiyorlar ya da üretilmiyorlarsa, neden olmasın?

Her modül kümesinin derleme yolu nerede? Biraz kafam karıştı çünkü Proje Yapısı-> Yönler-> Android-> Derleyici ayarları, Proje Yapısı-> Modüller-> Yollar-> Derleyici Çıktısı, build.gradle ve MyProject.iml'nin tümü ile bir ilgisi var gibi görünüyor. yol inşa et, ama nasıl ilişki kurduklarını tam olarak anlamıyorum

edit: Nerede olması gerektiğini biliyorum , ancak orada değil, bu yüzden derleme yolunu nasıl değiştireceğimi bilmek istiyorum

düzenleme 2: Bazı nedenlerden dolayı gradlew derlemesini çalıştırmak .apks oluşturuyor , ancak programın içinden oluşturmuyor veya çalıştırmıyor

düzenleme 3: İşte gradlew derleme çıktım, başarıyla oluşturduğuna dikkat edin:

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


Alex tarafından açıklandığı gibi orada olmalı yoksa yukarıdaki cevabı kontrol edebilirsiniz.
Gru


Benimki ./app/release/app-release.apk içindeydi
Steve Smith

Yanıtlar:



23

AndroidStudio projeleri dosyasına gidin

  1. Proje adını seçin,
  2. Uygulama seçin
  3. Yapı seçin
  4. Çıkışları Seçin
  5. Apk seçin

AVD'de veya hatta donanım cihazında uygulamayı çalıştırdıysanız, uygulamanın APK dosyalarını burada bulacaksınız.


Garip, bahsettiğiniz gibi derleme dizininde Android Studio 3.2 kullanıyorum, sadece intermediatesdizin var, Outputseksik.
Allan Ruin

@AllanRuin APK'yi siz mi oluşturdunuz?
kelalaka

lütfen bahsettiğiniz adımlarla ilgili ayrıntılı bilgi verin.
Shubham Arya

19

codeAndroid Studio'da derledikten sonra burada buldum:

~ \ Uygulamam_Adı \ app \ build \ outputs \ apk \ app-debug.apk


18

Hata ayıklama işlemi yerine uygulamanızı oluşturmalısınız. Sadece şunu takip edin:

Build -> Build Bundles/APK(s) -> Build APK(s)

görüntü açıklamasını buraya girin


11

Hata ayıklama apk'mi bulmakta sorun yaşıyordum. Android Studio 0.8.6 proje / proje / derleme / konumunda apk'yi ve hatta çıktı klasörünü göstermedi. Windows klasör gezgininden aynı yolu proje / proje / yapı / kontrol ettiğimde, orada "çıktı" klasörünü ve içindeki hata ayıklama apk'sini buldum.


Bu konum açıksa ve 'temiz proje' =)
Tapirboy

Sırf Android Studio size her zaman tüm dizinleri göstermediği için bu kadar çok zaman harcadığıma inanamıyorum ...
Jon McClung

9

Android Studio için:

APK'yi en az bir kez oluşturmadıysanız, / Outputs / APK klasörünü bulamayabilirsiniz. Android Studio'da Oluştur'a gidin ve son üç seçenekten biri Oluştur APK'dir, bunu seçin. Daha sonra bu klasörü oluşturacak ve APK dosyanızı orada bulacaksınız.


Yukarıdakilerin hepsi benim için işe yaramadı ve bu işe yarıyor. Bundan sonra Build APKayrıca locatesize apk'niz için ne kadar uygun olduğunu söyleyen bir iletişim kutusu açılır !
Ng Sek Long

5

Gradle projenizi oluşturduğunda, tüm APK'ları build / apk dizinine koyar. Ayrıca, projenizin üst düzey dizininde * .apk için basit bir özyinelemeli bulma komutu da yapabilirsiniz.

İşte daha iyi bir açıklama ...

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

Tam resmi http://i.stack.imgur.com/XwjEZ.png adresinde görüntüleyin


Bu dizin nerede tanımlanıyor? Çünkü proje dosyalarımın hiçbir yerinde apk dosyası bulamıyorum
Migwell

Düzenlememdeki gibi - nerede olması gerektiğini biliyorum , ama orada değil, bu yüzden belki de çıktı yolu bir şekilde bozuktur?
Migwell

Ben ekledim. Tek tehlikeli şey, kütüphanem TwoWayLib'in iki kez inşa ediyor gibi görünmesi. Bu, android stüdyosunun neden apks
oluşturamadığını açıklamıyor

Bende de aynı sorun var - ne Gradle ne de Android Studio aslında bir apk dosyası oluşturmuyor.
Richard Russell

5

Maden uygulamasının apk'si bu konumdaydı

C: \ Kullanıcılar \ haseeb_mir \ AndroidStudioProjects \ MyTestApp \ app \ build \ outputs \ apk \ debug


3

android 3.1.0'da APK'nın imzalanmış sürümünü bulmak için aşağıdaki yolu kullanın

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

ve pencerelerde

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

2

Benim durumumda hata ayıklama yapımı almak için - Anında Çalıştır seçeneğini kapatmam gerekiyor:

Dosya → Ayarlar → Oluşturma, Yürütme, Dağıtım → Anında Çalıştırma ve Anında Çalıştırmayı Etkinleştir seçeneğinin işaretini kaldırın.

Sonra projeyi çalıştırdıktan sonra - yapımı Application \ app \ build \ outputs \ appDebug \ apk dizininde buldum


0

Bu soruya bir göz atın .

TL; DR: temizleyin, sonra inşa edin.

./gradlew clean packageDebug 

1
Benzer bir sorun, ancak benim durumumda bu komutu çalıştırmak, bir kez oluşturulmasına neden oluyor, ancak yine de android stüdyosunun içinden çalışmıyor.
Migwell

1
Hala .apk dosyasını oluşturmuyor mu?
alikonda

0

Android stüdyonuz olduğunda, kullandığı imzalı apk dosyanızı yapın

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

nereye yerleştireceğinizi öğrenmek için workspace.xml içinde. Ancak, kullanırsanız ./gradlew assembleReleasePROJNAME / build / apk içine yerleştirir. Bende de aynı sorun var. Bazı nedenlerden dolayı android stüdyom apk alt dizini içinde bana hiçbir şey göstermeyecek, bu nedenle apk tüm amaç ve amaçlar için eksik. Ancak bulucu ile arama yaparsanız, kesinlikle oradadır.


0

Bulabilirsin

project -> app (or your main app module) -> build -> outputs -> apk
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.