Android Studio ile imzasız APK dosyası oluşturun


272

Android Geliştirici Aracı ile bir android uygulaması geliştiriyorum. Şimdi yeni Android Studio'yu denedim, akıllı telefonumu pc'ye bağlar ve programı doğrudan Android Studio'da çalıştırırsanız her şey iyi çalışır. Ama şimdi programı diğer akıllı telefonlarla bilgisayarıma bağlamadan test etmek istiyorum.

ADT, programı her derlediğinizde .apk dosyasını "projectname / bin" altında oluşturur. Android Studio'nun bunu yapmadığı anda nasıl görüyorum.

Benim sorum Android Studio ile imzasız bir .apk dosyası oluşturmak mümkün mü?


10
Teknik olarak, istediğiniz bir hata ayıklama anahtarıyla imzalanmış bir apk. İmzasız bir apk cihaz tarafından reddedilecektir.
Chris Stratton

Bilginize, @Nirmal Dhara tarafından yanıtlandığı şekilde imzalı uygulamaları dışa aktarmayı tercih etmeliyiz. Bu çok daha güvenli.
Mukund

2
@ChrisStratton Her zaman reddedilecek mi?
Sreekanth Karumanaghat

Bu çözümle
çözdüm

Yanıtlar:


326

APK dosyanızı Gradle ile oluşturmanızı öneririm:

  • Üst taraftaki araç çubuğunda açılır menüyü tıklayın ('Çalıştır / Hata Ayıklama yapılandırmalarını düzenle' iletişim kutusunu aç)
  • "Yapılandırmaları Düzenle" yi seçin
  • "+" İşaretini tıklayın
  • "Gradle" ı seçin
  • Gradle projesi olarak modülünüzü seçin
  • Görevler'de: girin assemble
  • Çalıştır'a basın

İmzasız APK'nız artık

ProjectName\app\build\outputs\apk

Gradle'ın nasıl kullanılacağı hakkında ayrıntılı bilgi için bu öğretici iyi bir şeydir: Android Studio'da Gradle ile Oluşturma . Ayrıca Gradle ile imzasız bir APK'nın nasıl oluşturulacağına dair bir blog yazısı yazdım.

Projenizi diğer IDE'den taşıdıysanız ve yeniden derlemek istemiyorsanız , taşındığınız IDE'de önceden oluşturulmuş APK dosyanızı bulabilirsiniz:

  • Projeyi Android Studio ile oluşturduysanız APK dosyası şurada bulunur: ProjectName/ProjectName/build/apk/...

  • Eclipse projesinden içe aktarıldı: Dosya aynı dizinde olmalıdır. Git Project- Show in Explorer. Orada APK dosyanızın bulunduğu bin klasörünü bulmalısınız.

  • IntelliJ'den içe aktarılmış, konum ProjectName/out/production/...

Yan not: Chris Stratton'un yorumunda belirttiği gibi:

Teknik olarak, istediğiniz bir hata ayıklama anahtarıyla imzalanmış bir APK'dır. İmzasız bir APK cihaz tarafından reddedilecektir.


1
Evet projeyi tutulmadan aldım. Ama benim durumumda bin klasörüne Android Studio tarafından dokunulmadı. Biraz arama ile kendim buldum. Benim durumumda .apk "projectname / out / production / projectname /"
adresinde bulundu

Bu, yalnızca IntelliJ'den
geçerseniz

9
Projeyi doğrudan Studio ile oluşturuyorum ancak projenin herhangi bir klasöründe "bin" adında bir klasör yok. Ve "build" klasöründe sadece "res" ve "source" olmak üzere iki klasör bulunur ve "bin" klasörü yoktur. şimdi bana bir şey önerebilir misin
Himanshu Aggarwal

25
Click the dropdown menu in the toolbar at the topBu çok genel. Hangi açılır menü? Ne araç çubuğu?
dthree

3
@ dthree üst menü çubuğunda "Çalıştır" ı tıklayabilir ve açılır menüden "Yapılandırmaları Düzenle" yi seçebilirsiniz
Gema Megantara

226

Gradle ile İmzasız APK Oluştur'a göre , uygulamanızı gradle ile kolayca oluşturabilirsiniz. Bunu yapmak için:

  1. üstteki araç çubuğundaki açılır menüyü tıklayın (genellikle android simgesi ve uygulamanızın adı ile)
  2. seçmek Edit configurations
  3. sol üst köşedeki artı işaretini tıklayın veya alt+insert
  4. seçmek Gradle
  5. modülünüzü seçin Gradle project
  6. içinde Tasks:girmekassemble
  7. basın OK
  8. basın oyunu

Bundan sonra dizinde imzasız 'apk' bulmalısınız ProjectName\app\build\outputs\apk


1
+ android ile inşa build.gradle {lintOptions {checkReleaseBuilds false abortOnError false} [....]} ve işe yarıyor! teşekkür ederim
Steffi

Teşekkür ederim marcin ... İşe yaradı .. Dikkat edilmesi gereken bir şey, Android Studio'da "çıktılar / apk" klasörünü bulamadım .. Sadece dosya sisteminde göründü ..
Govind

'Bin' görevi, 'bin' kök projesinde bulunamadı.
nVentimiglia

2. oy. Bu Doğru Yanıt olmalıdır. Bu sorunu proje içe aktarma ile temiz bir android stüdyo kurulumunda yaşadım. Bir derlemeden herhangi bir apk dosyasını almak için bu manuel kurulumdan geçmelisiniz.
rickfoosusa

1.5.1'de çalışır, ancak tek bir modül seçilse bile tüm proje uygulamalarını oluşturur.
sandrstar

94

En kolay yol, sanırım:

  • Sağ taraftaki Gradle sekmesini aç
  • Proje /: app / assemble (veya assembleDebug) öğesine çift tıklayın
  • APK'yı burada bulacaksınız
    ... / Projeniz / uygulama / derleme / çıktılar / apk / app-debug.apk

ekran görüntüsü


1
Teşekkürler, kabul edilen cevaptan çok daha basittir ve her koşuda apk oluşturmamanıza izin verir
Irhala

42

sadece BUILD-> Build APK'ye gidin ve bitti


8
+1. ÇOK basit bir yöntem. BTW, oluşturulan APK bulabilirsinizAndroidStudioProjects/<APP NAME>/app/build/outputs/apk/debug/app-debug.apk
Spikatrix

bu kadar basit, çok teşekkür ederim, işe yaradı, takdir edin.
Zeyad

23

Adım 1 Android stüdyosunu açın. Oluştur -> İmzalı APK Oluştur…. şimdi "İmzalı APK Oluştur" u tıklayın.

resim açıklamasını buraya girin

Adım 2

resim açıklamasını buraya girin

Yeni oluştur'u tıklayın.

Aşama 3

Ayrıntıları doldurun ve Tamam'a tıklayın. resim açıklamasını buraya girin

jks önemli ayrıntılar, önceki pencereye geri döner.

resim açıklamasını buraya girin

İleri'ye tıklayın ve anahtarda sakladığınız şifreyi verin.

4. Adım

resim açıklamasını buraya girin

Şimdi Bitir'e tıklayın ve oluşturma işlemini tamamlamak için bekleyin.

resim açıklamasını buraya girin

Şimdi apk başarıyla oluşturuldu. Gezgin'de göster'i tıklayın.

resim açıklamasını buraya girin

Daha fazla ayrıntıya ihtiyacınız varsa, lütfen canlı demoyu ziyaret edin ve kontrol edin http://javaant.com/how-to-make-apk-file-in-android-studio/#.VwzedZN96Hs


3
Soru soruyor apk
ravelinx

18

Android Studio'da:

  1. İnşa etmek

  2. APK Oluşturun

  3. Bekleyin ve açılır pencerede gösterilen konuma gidin. Sağ alt tarafta

resim açıklamasını buraya girin


14

Evet, Android Studio ile imzasız bir .apk oluşturmak mümkündür!

Paket gezgini veya proje sütununda Proje'yi vurgulayın ve sonra File- Project Structure- Artifacts- +- Android Application- From module 'your app've ardından konumu ve diğer bazı seçenekleri değiştirebilirsiniz. Ben sadece kolaylık sağlamak için marka oluşturmak sağlar.


"Proje ayarlarını daha sonra yapılandırmak için bir kullanıcı arayüzü sağlayacağız. O zamana kadar, lütfen build.gradle dosyalarınızı manuel olarak düzenleyin." "Şimdi ne yapmalıyım?
Himanshu Aggarwal

8
Peki ya orada “Eserlerim” yoksa?
sincap

Sol üstteki artı işaretini tıklayın ve Android Uygulaması alabilirsiniz
CACuzcatlan

jetbrains.com/idea/webhelp/artifacts.html Eserleri kullanmanın anlamı nedir? Ben imzasız bir apk hata ayıklama apk, vb oluşturmak için sanıyordum ama gradle menüsünden (en azından intellij IDE) montajcı kiralama çalıştırmak sürece imzasız apk almak için sadece inşa / apk klasörüne gidebilirsiniz gibi görünüyor. Sadece bir eser yapılandırdım ama onunla gerçekten ne yapacağımı anlamakta zorlanıyorum. Birisi lütfen farkı açıklığa kavuşturmaya ve beni doğru yöne yönlendirmeye yardımcı olabilir mi?
cjayem13

@ cjayem13 Bazı projeler Gradle kullanmaz.
Marc Plano-Lesay

11

OSX'teki Android Studio 2.2.3 ile en üstteki menüyü kullandım:

Build > Build APK

.apkDosya ile Finder'ı açtı . Bu imzalı bir APK oluşturmaz. Generate Signed APKGerekirse aynı menüden seçim yapabilirsiniz .


İmzalı bir APK oluşturmaya çalıştım ama bir anahtar mağaza yolu istiyor. Orada ne sağlanmalı?
codeinprogress

11
Build -> Build APK     //unsigned app


Build -> Generate Signed APK  //Signed app

11

AndroidStudio 3.4


Grade Build RunningTamamlandıktan sonra , bildirimi sağ alt köşede gibi göreceksiniz.

Tıklayın locateve hata ayıklama APK göreceksiniz


10

Sadece Uygulamanıza gidin \ app \ build \ outputs \ apk

hem telefona kopyalayın hem de app-debug.apk dosyasını yükleyin


1
her iki dosyayı da kopyalamak gerçekten gerekli mi?
Vahid Ghadiri

4

Benim için şu işi:

Build.gradle içinde yaptıysanız aşağıdaki ayarı boş bırakın.

signingConfigs {
        release {
            storePassword ""
            keyAlias ""
            keyPassword ""
        }
    }

ve Editör pencerenizden Gradle Task'ı seçin. Oluşturduysanız, tüm lezzetlerin listesini gösterecektir.

resim açıklamasını buraya girin


3

--- İmzalamada yeni yapılandırma oluşturma

unsigned {
        //do not sign
    }

--- buildTypes içinde oluşturma türü oluşturma

unsigned {
        versionNameSuffix '-unsigned'
    }

--- Değişkenler oluştur ve imzasız standart seç. Proje oluşturun.

--- "Çıktılar / apk" gidin ve "XXX-unsigned.apk" bulun. İmzasız olup olmadığını kontrol etmek için cihaza yüklemeyi deneyin - başarısız olursunuz.


Bu çalışmıyor. SigninigConfig öğesini biraz farklı tanımlamanız gerekir ( stackoverflow.com/a/18121401/624109 signingConfigs{ unsigned{ storePassword = "" keyAlias = "" keyPassword = "" } }
Muzikant

1

Şimdi Android Studio v1.1.0'da:

  1. seçmek Run >Run <your app>
  2. içindeki .apk dosyasını bul <your app>\build\outputs\apk

1.2.1.1 kullanıyorum ama yaklaşımınız işe yaramıyor. Bir Gradle Meclisi oluşturmak zorundayım!
programcı

0

Android stüdyosu ayrıca programı her derlediğinde apk dosyasını oluşturur, sadece çalışma alanı klasörünüze gidin ve app-> build-> output-> 'ı bulun, sonra apk dosyasını görebilirsiniz.


0

Araç çubuğundaki çalıştır düğmesinin yanındaki açılır menüyü tıklayabilir,

  1. "Yapılandırmaları Düzenle" yi seçin
  2. "+" İşaretini tıklayın
  3. "Gradle" ı seçin
  4. Gradle projesi olarak modülünüzü seçin
  5. Görevler'de: montajı girin

Şimdi ok tuşuna basın,

tek yapmanız gereken açılır menüden yapılandırmanızı seçmek ve çalıştır düğmesine basmak. Biraz zaman alacak. İmzasız apk'niz artık

Project\app\build\outputs\apk

0

Çözdüm!

Öncelikle şunları eklemelisiniz:

defaultConfig { 
 multiDexEnabled true
}

dependencies {
 implementation 'com.android.support:multidex:1.0.3'
}

Ardından, Android Studio'nun üst çubuğunda Oluştur'u tıklamanız gerekir :

Oluştur > Grupları Oluştur / APK (lar)> APK Oluştur

Son olarak, bir app-debug.apk dosyanız var:

app> build> çıktılar> apk> debug> app-debug.apk

Not : apk, debug, app-debug.apk dosyaları Android Studio tarafından çıkış dosyasında otomatik olarak oluşturulur.


0

İmzasız oluşturmak için adımlar APK

Not: Teknik olarak, istediğiniz bir hata ayıklama anahtarıyla imzalanmış bir APK'dır. İmzasız bir APK cihaz tarafından reddedilecektir. Yani, imzasız APK, cihaza yüklerseniz hata verecektir.


'C: \ Users \ marad \ .gradle \ daemon \ 5.2.1 \ My Application' için işlem çalışma dizini ayarlanamadı: geçerli dizin (errno 2) ayarlanamadı '
ass-king

0

İmzasız APK için: Basitçe signingConfig null değerini ayarlayın. Size appName-debug-unsigned.apk verecektir

debug {
     signingConfig null
}

Ve Build menüsünden oluşturun. Zevk almak

İmzalı APK için:

signingConfigs {
        def keyProps = new Properties()
        keyProps.load(rootProject.file('keystore.properties').newDataInputStream())
        internal {
            storeFile file(keyProps.getProperty('CERTIFICATE_PATH'))
            storePassword keyProps.getProperty('STORE_PASSWORD')
            keyAlias keyProps.getProperty('KEY_ALIAS')
            keyPassword keyProps.getProperty('KEY_PASSWORD')
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.internal
            minifyEnabled false
        }
        release {
            signingConfig signingConfigs.internal
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

keystore.properties dosyası

CERTIFICATE_PATH=./../keystore.jks
STORE_PASSWORD=password
KEY_PASSWORD=password
KEY_ALIAS=key0
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.