Android studio, app- (release | debug) .apk olarak varsayılan apk adını üretecektir.
apk dosya adı, com.example-debug.apk
gibi uygulamanın paket adıyla aynı şekilde nasıl oluşturulur. senin modülün build.gradle bu koyarakAndroid Studio'da paket adı olarak apk adı oluştur
cevap
deneyin
applicationVariants.all { variant ->
variant.outputs.each { output ->
def file = output.outputFile
def appId = android.defaultConfig.applicationId
def fileName = appId + "-" variant.buildType.name +".apk"
output.outputFile = new File(file.parent, fileName)
}
}
teşekkürler olduğunu. – Bangaram
Bu sadece benim için bir APK yayınlıyor ve her bir derleme varyantı için bir APK çıkarmıyor. – Subby
Elbette, başka bir varyant için apk istiyorsanız, önce yapı varyantını değiştirmeniz gerekir. Veya tüm sürümleri oluşturmak için bir komut kullanın. Bu kod sadece apk'nin ismini değiştirir, başka bir şey değil. Terminalde './gradlew assemble' kullanan – slezadav
bu link görebilirsiniz. veya Mantıksız seçenek release|debug.apk
dosya adında ne istediğinizi adlandırmak için yeniden adlandırın.
bu kodu sizin için yararlı olabilir:
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationVariants.all { variant ->
variant.outputs.each { output ->
def formattedDate = new Date().format('yyyyMMddHHmmss')
def newName = output.outputFile.name
newName = newName.replace("app-", "$rootProject.ext.appName-") //"MyAppName" -> I set my app variables in the root project
newName = newName.replace("-release", "-release" + formattedDate)
//noinspection GroovyAssignabilityCheck
output.outputFile = new File(output.outputFile.parent, newName)
}
}
}
debug {
}
}
kodunuzu :) keyfini
içine bu kodu project.Put üst düzey dizininde customname.gradle adlı bir dosya oluşturun.
android.applicationVariants.all { variant ->;
def appName
//Check if an applicationName property is supplied; if not use the name of the parent project.
if (project.hasProperty("applicationName")) {
appName = applicationName
} else {
appName = parent.name
}
variant.outputs.each { output ->;
def newApkName
//If there's no ZipAlign task it means that our artifact will be unaligned and we need to mark it as such.
if (output.zipAlign) {
newApkName = "${appName}-${output.baseName}-${variant.versionName}.apk"
} else {
newApkName = "${appName}-${output.baseName}-${variant.versionName}-unaligned.apk"
}
output.outputFile = new File(output.outputFile.parent, newApkName)
}}
Ardından uygulama modülünün gradle içinde
archivesBaseName
ayarı, başka görevleri kullanmadan bu kodu
apply from: "../customname.gradle"
Yapabilirsin ekleyin. Örneğin
:
defaultConfig {
....
project.ext.set("archivesBaseName", "MyName-" + defaultConfig.versionName);
}
Çıktı: Senin durumunda
MyName-1.0.12-release.apk
:
project.ext.set("archivesBaseName", "com.example");
için './gradlew assembleRelease' veya './gradlew assembleDebug' komutunu kullanabilirsiniz. RootProject adına erişebilir ve bu şekilde kullanabilirsiniz: "project.ext.set (" archivesBaseName "), rootProject.getName() + "-" + defaultConfig.versionName); ' –
, ne yazık ki arşivler varyantlarıyla çalıştığınızda ölçeklenmiyorBaseName hepsi için global – Ewoks
Bu size yardımcı olabilir. Bu kod, uygulama adınızın paket adınız olabileceği applicationId-release.apk
veya applicationId-debug.apk
gibi uygulama adı oluşturacaktır.
buildTypes {
applicationVariants.all { variant ->
variant.outputs.each { output ->
def newName = output.outputFile.name
newName = newName.replace("app-", applicationId)
output.outputFile = new File(output.outputFile.parent, newName)
}
}
}
- 1. android, paket adı nasıl alınır?
- 2. Paket adı diğer adı veya takma
- 3. Benzersiz dosya adı oluştur
- 4. Grails varsayılan paket adı
- 5. Paket adı edinin
- 6. org.drools.RuntimeDroolsException: geçersiz paket adı
- 7. İşlem adı android paket adıyla aynı mıdır? Bu yöntem ile
- 8. Android Studio/graper dinamik apk adı senkronizasyon dışına çıktı
- 9. maven'de main.java olmadan paket adı
- 10. Bir rpm paket adı verildiğinde,
- 11. Değişken ve üst düzey paket adı arasındaki Java adı çakışması
- 12. Xml ad alanı bildirimi: otomatik değiştirilen paket adı
- 13. Android - resim adı "paket" atmak derleme zamanı hatası
- 14. Android: kod sürümü numarasını build.gradle dosyasından dosya adı .apk (app-release_v3.apk)
- 15. Android Market'in veya Google Apps'ın paket adı nedir?
- 16. Android çekirdek sürüm adı
- 17. makecert - yayıncı adı olan bir sertifika oluştur
- 18. Geçiş karakter paket adı Bu işler fonksiyonunu
- 19. java'da paket adı bildirimini değiştirmek için kısayol
- 20. Maven groupId ve paket adı java kaynağında
- 21. setup.py: adlandırma src paket adı proje
- 22. 'default' değişken adı olarak
- 23. Tepkisel-yerel bir proje oluştururken belirli bir paket adı kullanın
- 24. google oyun mağazasında farklı imza ve aynı paket adı ile apk yükleyin
- 25. GoogleAccountCredential adı, setSelectedAccountName (Android 6.0)
- 26. Javascript Dizi adı, soyadı, adı
- 27. Android adb kabuk yayınlandı: Hatalı bileşen adı
- 28. Adı
- 29. Adı
- 30. Dataframe, bir satır adı olarak
bu bağlantıyı http://stackoverflow.com/questions/22126299/change-apk-name-with-gradle/22126638#22126638 yardımcı olabilir –
yukarıdaki bağlantı güncelleştirme onun çalışma için yararlı –