APK dosyası diskte mevcut değil


229

Android Studio'da hata ayıklama uygulamasını denediğimde şu günlük çıktısını veriyor:

/Users/MyApplicationName/app/build/outputs/apk/app-debug.apk APK dosyası diskte mevcut değil.

Android Studio'yu yeniden başlattım ancak bu sorunu çözemiyorum. Bunu nasıl çözebilirim? teşekkür ederim


9
Bunu nasıl çözebilirim? bir apk derleyin
Tim

1
@TimCastelijns Aslında Android Studio'nun hata ayıklama apk görevini hata uygulama görevine dahil edecek kadar akıllı olup olmadığını merak ediyorum. Bunun için gradle yapılmalıdır.
Trilarion

1
@Trilarion Varsayılan olarak AS, gradle'ın bir hata ayıklama apk'sini derleyen assembleDebug görevini yürütür. Burada bir şeyler yanlış görünüyor, bu da manuel derleme gerektiriyor
Tim

3
Gradle Make-Aware'i eklemek bu sorunu benim için çözdü. stackoverflow.com/a/25871525/1712417
Iammesol

2
"Gradle Make-Aware" 'i eklemeyi deneyin stackoverflow.com/questions/18256177/…
Andy Cheng

Yanıtlar:


465

Hatayı çözmek için bu seçeneği tıklayın:

Çalıştır: Görünüm> Araç Pencereleri> Gradle> [proje]> Görevler> oluştur> inşa


6
Proje dizini adınızdaki özel karakterler de bu hataya neden olacaktır.
NP

50
Bu benim için hiç işe yaramadı. Okuyucuya sadece ne yapacağını söylemek yerine, neden çalışmaları gerektiğini açıklayan cevaplar öneririm, böylece bu hataları daha sonra anlayabilir / önleyebilir / çözebilir.
person27

3
Bunun tam olarak ne yaptığını ve bu sorunun neden olduğunu açıklar mısınız?
Hamidreza Sahraei

btw "Özel karakterler" ayrıca sayıları da içerir. Saçma, bununla tonlarca zaman kaybetti. facepalm :)
alexr101

5
Bu düğme Android Studio'nun en son sürümünde mevcut değil, ancak bence işe yarayan "Projeyi Gradle Dosyalarıyla Eşitle" seçeneğiydi.
nasch

208

Android Studio V 3.1 güncellemesinden sonra bu sorunla karşılaşıyorsanız, aşağıdakileri deneyin.

Android Studio 3.1'e güncellediğimde aynı sorunla karşılaşıyordum. Burada bulduğum diğer tüm çözümler oldukça manueldi çünkü her seferinde temizlemeniz ve yeniden inşa etmeniz gerekiyor, bu hiç de iyi değil. Ama Iman Marashi'nin buradaki cevabı sayesinde çözmeyi başardım.

Çalıştır -> Yapılandırmaları Düzenle'ye gidin ...

Başlatmadan önce bölümünde "Gradle-Uyumlu Make" sahibi olduğunuzdan emin olun:

Yapılandırmaları Çalıştır / Hata Ayıkla

Eklemek için + işaretini tıklayın ve Dereceli Farkında Yap'ı seçin ; bir açılır pencere görünecektir, metin alanını boş bırakıp Tamam ve Tamam'a tıklayın .


13
Bu, son 3.1 güncellemesinin düzeltmesidir. Benim için bu sorunun ilk belirtisi, APK'nın koddaki değişikliklere "yanıt vermemesiydi". Artık yeni APK'nin düzgün bir şekilde oluşturulmadığını anladım.
David Gay

Bu cevap benim için çözebilir. 3.1'i güncelledim ve bu hatayı alıyorum.
ZarNi Myo Sett

Efendim bir hayat kurtarıcısınız.
Joel Libby

VAOV! Bunun için 1000 oy hak ediyorsun! Android Studio 1000 olumsuz oyu hak ediyor!
1QuickQuestion

Teşekkürler, bu kesinlikle doğru cevap ve kabul edilen cevap olmalı
Petar Marijanovic

68

Benim durumumda, "Projeyi Gradle Dosyaları ile Eşitle" yi çalıştırmak yardımcı oldu. Andoid Studio'yu yeniden başlatmak veya önbelleği temizlemek hiçbir şey yapmadı.


1
Teşekkürler. Bana da yardım ediyor. Andoid Studio'yu yeniden başlatmak veya önbelleği temizlemek yardımcı olmadı.
ivan.panasiuk

Normalden ayrı bir dosyada bulunan adlandırma komut dosyasını değiştirdikten sonra benim için hile build.gradleyaptım, bu yüzden Android Studio değişikliği otomatik olarak algılamadı ve senkronizasyon yapmamı istedi.
Magnus W

Bu gerçek cevap.
azizbekian

3
File -> Sync Project with Gradle Files stackoverflow.com/a/19932896/2527204
Marlon

Birim testi çalıştırmaya çalışırken bu sorun vardı. Birim testi çalıştırmak için bir cihaz istiyordu.
Sergio

34

Sadece sonucu öğrenmek istiyorsanız, lütfen son bölüme gidin. Teşekkürler.

Genellikle proje oluşturma başarısız olduğunda, deneyebileceğiniz bazı genel püf noktaları:

  • Oluştur -> Temiz Proje
  • Derleme Varyantlarını Kontrol Edin
  • Android Studio'yu yeniden başlatın (belirttiğiniz gibi)

Ancak sorununuza daha spesifik olmak gerekirse - Android Studio APK dosyasını diskte bulamadığında. Bu, Android Studio'nun gerçekten projeyi başarıyla oluşturduğu ve ayrıca APK'yi oluşturduğu anlamına gelir, ancak bazı nedenlerden dolayı Android Studio dosyayı bulamıyor.

Bu durumda, lütfen günlüğe göre yazdırılan dizini kontrol edin. Yararlı.

Örneğin:

Android Studio 2.0 Önizleme (derleme 143.2443734) ile.

  1. Belirli bir commit için ödeme yapın (böylece başlıktan kopması için ): git checkout [commit_hash]
  2. Projeyi çalıştır
  3. Android Studio şunu söyler: APK dosyası / Kullanıcılar / MyApplicationName / app / build / outputs / apk / app-debug-HEAD.apk diskte mevcut değil
  4. Dizine gidin, aslında adında bir dosya var: app-debug- (HEAD.apk (ekstra parantez ile)
  5. Git dalını çalıştır

    * (HEAD 1a2bfff'de ayrıldı)

Yani burada görebilirsiniz, benim gradle build betiğimin hatası nedeniyle , dosya isimlendirmesi bir şekilde yanlış.

Yukarıdaki örnek, aynı soruna yol açabilecek, ancak sizinkiyle aynı temel neden olması gerekmeyen yalnızca bir senaryodur.

Sonuç olarak, dizini kontrol etmenizi (farkı bulmak için) ve build.gradle komut dosyanızı kontrol etmenizi şiddetle tavsiye ederim (apk adını orada değiştirebilirsiniz, aşağıdaki gibi):

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);
        }
    }

2
Sorunum, uygulama sürümünü APK adına eklememdi, ancak uygulama sürümünün xyz biçimine ve "" biçimine sahip olmasıydı. Adlandırmadaki (nokta) hatalara neden oluyordu. Bu yüzden apk'den öncekinden başka nokta hatırlamayın :)
DraganescuValentin

20

Eğer yoksa emin olun kesme işareti veya & yolunuzda


'&' Beni derlemekten alıkoyan şeydi. Teşekkürler @Rim Gazzeh
Marka A

19

Olmadığından emin olun Not Verme farkında olun yılında Run / lansman öncesinde yapılandırmaları >> ayıklama bölümünde:

Bu görüntü gibi


17

Git dallarını değiştirirken genellikle benzer bir soruna şahit oldum. Benim için Android Studio'yu kapatmak ve Android Studio'yu rm -rfv ~/Library/Caches/AndroidStudio*yeniden başlatmak bir bilet.


Benzer sorunum bu yöntemle çözüldü. Sürüm numarasını dosyaya eklemek için gradle yapısında apk dosyalarını yeniden adlandırıyorum, ana etkinliğimde yanlış apk dosyası adını (önceki sürüm numarası) çalıştırmaya çalışırken hata ayıklamaya çalışıyorum. Bunun ne zaman başladığından emin değilim ama başlamayana kadar iyi çalışıyordu.
David

Android stüdyo önbelleği çok büyük bir sorun!
GeekHades

Bu. Sadece (tekrar) yapı numaramı artırdım, bu apk dosya adını değiştirdi, yine bu sorunu yaşıyorum.
David

13

Android Studio 3.1.1'de Dosya | Gradle Files ile Projeyi Senkronize Edin.

Android Studio 3'te Dosya | Senkronize edin.

Ardından projenizi tekrar çalıştırın.


Studio v3.1.1'de, Dosya -> Projeyi Gradle Dosyaları ile Eşitle. ve gitmekte
Napolean

Ardından, üst araç çubuğundaki bir alanda (simgeli), çekiç simgesinin yanında, yapılandırma açılır
menüsünde

11

Yıl 2018. Android Studio sürümü 3.2.0 alpha3 ve hala bu sorunu yaşıyoruz. Yukarıdakilerin hiçbiri benim için işe yaramadığı için, işte benim 2 sentim:

Bu her seferinde komut satırından apk oluşturuyorum:

gradlew assembleDebug

GÜNCELLEME

Klasörü silmek .AndroidStudio[version]ve tüm tercihlerinizi ve önbelleklerinizi kaybetmek ... sorunu çözüyor gibi görünüyor


1
ama bu sadece bir yapı için mi çalışıyor? Daha fazla değişiklik yapıp 'oynat' düğmesine basarsanız, yalnızca eski apk'yi iter ve değişiklikler için yeniden oluşturulmaz. Çok sinir bozucu, ne düşünüyorlardı
behelit

7

Benim durumumda, uygulama dosya yolumda özel bir karakter kullanıyordum. Android Studio'yu kapattım ve ' karakterini uygulama dosya yolumdan kaldırdım . Projeyi yeniden açtığımda her şey yolunda gitti.


Evet, ideal olarak Android Studio, kullanıcıların dosya yollarında özel karakter kullanmalarını önleyecek kadar akıllı olmalıdır. Ya da daha iyisi iyi programlama uygulamalarını kendim
Immortal Code

6

Üst pencereden Oluştur seçeneğini ve APK Oluştur seçeneğini kullanarak bir apk oluşturmayı çözdüm. Garip bir şey yapmaya gerek yok.


6

Unix benzeri kullanıcılar için (Linux / MacOs X), ~ / .gradle / caches / öğesini kaldırmak yerine, komut satırında şunları yapın:

$ cd path_to_you_project
$ touch build.gradle

Ardından Android Studio'dan APK oluşturmasını isteyin, gradle önbelleğinin kendisini sıfırlayacaktır.


5

Benim sorunum, sürüm numarasını APK'ya ekliyordum. Sürüm numarasını değiştirmek ve Gradle'ı yeniden senkronize etmek sorunu benim için çözdü.

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)
    }
}

AppendVersionNameVersionCode'u gradle'ın içinde çağırdınız mı?
Dhrupal


3

Önbelleği Senkronize Et, Temizle, Yeniden Oluştur ve Geçersiz Kıl ve Yeniden Başlat

Hiçbiri benim için çalışmadı.

Sürüm klasöründeki ve hata ayıklama klasöründeki APK ve output.json dosyalarını sildim ve ardından eşitlemeyi, temizlemeyi ve oluşturmayı denedim, sonra iyi çalıştı.

VEYA apk ve output.json dosyasının bulunduğu klasörü silin (hata ayıklama / yayınlama durumunda)


2

Dosya -> Önbellekleri Geçersiz Kıl / Yeniden Başlat


2

Yukarıdaki tüm cevapları denediyseniz ve işe yaramadıysa, "Anında Çalıştır" özelliğini devre dışı bırakmayı deneyin. Bu, tüm girişimlerden sonra bana yardımcı oldu.

Dosya -> Ayarlar -> Oluşturma, Yürütme, Dağıtım -> Anında Çalıştırma -> Orada onay kutusunun işaretini kaldırın


2

Yapıyı temizledikten sonra bu sorunu da aldım. Benim için çözüm, sadece derecelendirmeyi senkronize ettim ve benim için çalıştı.


2

Benim durumumda sorun, test yöntemi adı, sınıfı veya paketi değişmemiş olsa bile hata ayıklama yapılandırmasının bir şekilde geçersiz hale gelmesiydi .

Konfigürasyonları burada Çalıştır-> Konfigürasyonları Düzenle'den sildim:

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

Android stüdyosu otomatik olarak yeni bir tane oluşturacaktır.


Ardından Gradle projesini Dosya / Yeniden İçe Aktar'a tıklamanız gerekir. Bu, silinen çalıştırma yapılandırmasını yeniden oluşturacaktır.
Juan Ignacio Barisich

1

Gradle 1.5 ile aynı sorunla karşılaştı

Derleme dosyalarını temizlemem gerekiyordu:

Oluştur -> Temiz proje

Ve gradle dosyalarının tam derlemesini ve senkronizasyonunu zorlamak için bir APK oluşturun:

Oluştur -> APK Oluştur

Hala neden ve nasıl olduğunu bilmiyorum tho.



1

aynı sorunu yaşadım. yoldaki yanlış isimden kaynaklanıyordu. yolda şu şekilde özel bir Karakter vardı: C: ​​\ Kullanıcı \ Uygulamam \ Projekte-Tablet & Kullanışlı "&" karakterini sildim ve iyi çalıştı.


1

Benim sorunum dosya adında dakikaları içeriyordu - oluşturulan dosya appname_debug_0.9.0.1_170214_2217.apk olduğunda appname_debug_0.9.0.1_170214_2216.apk aradı, bu nedenle çıktı dosya adı kodu (başka bir yerden nabbed) açıkça iki farklı noktadan çağrılıyordu yapıda.

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)
        }
    }

bu blok nereden geliyor?
Nerius Jok

Projeyi ilk kurduğum zamandan kalma başka bir yığın değişim iş parçacığıydı (ve ne yaptığım hakkında çok az fikrim vardı - orada hiçbir şey değişmedi). Gradle'ın bu kısmı birkaç kez değiştirildiği için muhtemelen artık kullanılmayan koddur.
Ian Spencer

1

Benim için sorun, apk varken bir şekilde apk'yi bulamamış olmasıydı.

The APK file /Users/Paul/AndroidStudioProjects/android-tv-launcher/ui/build/outputs/apk/nameofapk.apk does not exist on disk.
Error while Installing APK

Tek yapmam gereken, apk kopyası ile ilgili yoluna sağ tıklamaktı ve

adb install -r <paste of relative path>

Ve apk yüklendi ve kullanıma hazır. Bu sorun benim için OSX'te oldu.


1

Mayıs 2018'de yeni Android Studio 3.1 ile çözüldü. .Gradle, .idea dosyalarını silin ve uygulama klasörünüzün içinde dizinler oluşturun. Ardından tekrar çalıştırmayı deneyin ve hatayı görmeyeceksiniz.


0

Build.gradle dosyasını küçük bir bilgi olarak değiştirdim ve "Şimdi Eşitle" yi tıklıyorum, sadece tamam.



0

Günlüklerinizde oluşturulan yolda emin olun - sizin durumunuzda:

/Users/MyApplicationName/app/build/outputs/apk/app-debug.apk

"çıktılar" klasörünün gerçekten bir "apk" klasörü vardır.

Bu benim sorunumdu, eğer orada değilse, aşağıdaki ekran görüntüsünü izleyerek "assembleRelease" görevini gradle'da çalıştırmanız gerekecek;

Gradle assembleRelease görevini çalıştırma adımları Ardından klasör oluşturulacaktır.


0

Yukarıdaki hiçbir şey bana yardımcı olmadı, ancak bunu Yapı Araçları panelinde başka bir türe geçip ardından gerekli olana geri dönerek çözdüm.


0

dosyayı değiştirin: build.gradle (uygulama dizini). aslında: bu dosyayı değiştirmemelisiniz, sadece bununla senkronizasyon ipuçları almak ve ardından projeyi senkronize etmek için.

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.