Za każdym razem, gdy generuję podpisany plik APK w Android Studio, domyślnie podaje on nazwę app-release.apk ...
Czy możemy wprowadzić jakiekolwiek ustawienia, aby monitował mnie i pytał o nazwę, którą należy przypisać do apk (tak jak w przypadku zaćmienia)
Robię to - zmień nazwę apk po jego wygenerowaniu. Nie powoduje to żadnych błędów, ale czy istnieje prawdziwy sposób, abym mógł wprowadzić zmiany w ustawieniach, aby uzyskać monit.
Uwaga::
podczas generowania apk android studio wyświetla monit o wybranie lokalizacji (tylko)
android
android-studio
Prabs
źródło
źródło
Odpowiedzi:
Tak, możemy to zmienić, ale z większą uwagą
Teraz dodaj to do swojego build.gradle w swoim projekcie, upewniając się, że sprawdziłeś wariant kompilacji swojego projektu, tak
release or Debug
więc tutaj ustawiłem mój wariant kompilacji jako,release
ale możesz również wybrać jako debugowanie.Użycie metody Set property w build.gradle i nie zapomnij zsynchronizować gradle przed uruchomieniem projektów Mam nadzieję, że to rozwiąże Twój problem :)
Co zaobserwowałem w najnowszej wersji Android Studio 3.3.1
Zmiana nazwy pakietu .aab jest wykonywana przez poprzedni kod i nie wymaga zmiany nazwy zadania.
Mam nadzieję, że wam to pomoże. :)
źródło
versionName
jakoś dodać ?The APK file /Users/.../outputs/apk/NewName-debug-20161004172815.apk does not exist on disk.
Możesz otrzymać błąd z najnowszą wtyczką Gradle dla Androida ( 3.0 ):
Zgodnie z przewodnikiem po migracji powinniśmy teraz zastosować następujące podejście:
Uwaga 2 główne zmiany tutaj:
all
jest teraz używany zamiasteach
iteracji po wariantach wyjść.outputFileName
Właściwość jest używana zamiast mutowania odwołania do pliku.źródło
${applicationName}
zdecydowanoBuildType_Decorated{name=applicationName, debuggable=false, testCoverageEnabled=false, jniDebuggable=false, pseudoLocalesEnabled=false, renderscript...
(skrócono dla jasności). Spowodowało to niepowodzenie pakowania. Dla mnie${applicationId}
lub${archivesBaseName}
były lepsze opcje. Również${defaultConfig.versionName}
dla mnie jest zerowe. Tak${applicationId}_${variant.name}-${variant.versionName}
właśnie skończyłem.android{}
sekcji na tym samym poziomie codefaultConfig{}
. Chociaż możesz go używać pozaandroid{}
używaniemandroid.applicationVariants.all { }
składniZmodyfikowałem odpowiedź @Abhishek Chaubey, aby zmienić całą nazwę pliku:
Tworzy to nazwę pliku, taką jak:
MyAppName-release20150519121617.apk
źródło
project.ext { appName = 'MyApplicatioName' }
rootProject.name
poda nazwę projektu jak w eclipse.output.outputFile
jest tylko do odczytu. @ Johnny-Doe odpowiedź jest nowym rozwiązaniem.(ZMIENIONO do pracy z Android Studio 3.0 i Gradle 4)
Szukałem bardziej złożonej opcji zmiany nazwy pliku apk i napisałem to rozwiązanie, które zmienia nazwę apk z następującymi danymi:
Otrzymasz taki apk: myProject_dev_debug_1.3.6_131016_1047.apk .
Pełną odpowiedź znajdziesz tutaj . Mam nadzieję, że to pomoże!
W pliku build.gradle:
źródło
> groovy.lang.MissingPropertyException: No such property: variantConfiguration for class: com.android.build.gradle.internal.variant.ApplicationVariantData
. Dlaczego po prostu nie zmienićbuildType = variant.buildType.name
?"file.apk" is not writeable
Oto znacznie krótsza droga:
Daje ci nazwę com.blahblah.example-v1 (1.0) -debug.apk (w trybie debugowania)
Android Studio domyślnie dodaje versionNameSuffix według nazwy typu kompilacji, jeśli chcesz to zastąpić, wykonaj następujące czynności:
Wyjście w trybie debugowania: com.blahblah.example-v1 (1.0) -MyNiceDebugModeName.apk
źródło
Bardziej uniwersalne rozwiązanie napisałem na podstawie odpowiedzi @Fer.
To również powinno działać w konfiguracji opartej smak i rodzaj kompilacji
applicationId
,versionName
,versionCode
.W pliku build.gradle:
Przykładowa nazwa pliku APK:
com.example.app_freeDebug_1.0_1.apk
Aby uzyskać więcej informacji na temat
variant
zmiennej, zobacz definicję interfejsów ApkVariant i BaseVariant .źródło
dodaj
android.applicationVariants.all
blok jak poniżej w twojej aplikacjidostępne od 2019/03/25
źródło
Nie zmieniając jej nazwy, ale może pomogłoby jej prawidłowe wygenerowanie? Zmień nazwę APK za pomocą Gradle
źródło
Najpierw zmień nazwę modułu z app na np. SurveyApp
Po drugie, dodaj to do gradle najwyższego poziomu projektu (głównego projektu). Działa z Gradle 3.0
źródło
Dodaj następujący kod w build.gradle (Module: app)
Nazwą kompilacji wydania będzie nazwa Twojej aplikacji 2018-03-31 12-34
źródło
Moje rozwiązanie może też komuś pomóc.
Przetestowane i działa na IntelliJ 2017.3.2 z Gradle 4.4
Scenariusz:
W mojej aplikacji są 2 smaki, dlatego chciałem, aby każde wydanie miało odpowiednią nazwę zgodnie z każdym smakiem.
Poniższy kod zostanie umieszczony w pliku budowania gradle modułu znajdującym się w:
{app-root}/app/build.gradle
Kod Gradle do dodania do
android{ }
bloku:Powyższe zapewnia następujące pliki APK znalezione w
{app-root}/app/
:Mam nadzieję, że komuś się to przyda.
Aby uzyskać więcej informacji, zobacz inne odpowiedzi wymienione w pytaniu
źródło
Myślę, że to będzie pomocne.
źródło