Nastavení podepisování kódu Pro Android v App Centeru
Důležité
31. března 2025 je naplánované vyřazení sady Visual Studio App Center. I když můžete Visual Studio App Center dál používat, dokud nebude plně vyřazený, existuje několik doporučených alternativ, na které můžete zvážit migraci.
Přečtěte si další informace o časových osách podpory a alternativách.
Tip
Pro uživatele Xamarin.Android se tento proces mírně liší. Podrobnosti najdete v průvodci podepisováním kódu Xamarin.Android.
Podepsání aplikace je požadavek na spuštění aplikace na skutečných zařízeních během procesu vývoje nebo jeho distribuci prostřednictvím beta programu nebo v Obchodě Play. Bez podepisování kódu může aplikace běžet jenom v emulátoru.
Když App Center sestaví aplikaci pro Android s typem sestavení ladění, úložiště klíčů pro vývojáře se nevyžaduje, ale dá se nahrát. Tyto buildy budou automaticky podepsány kódem pomocí ladicího klíče. Pro sestavení vydané verze, které se nasadí, nahrajte úložiště klíčů do App Center.
Generování úložiště klíčů
Pokud aktuálně nemáte úložiště klíčů, můžete ho vygenerovat v Android Studiu. Pokyny k vygenerování úložiště klíčů pro podepsání sad AKS najdete v oficiální uživatelské příručce pro Android Studio.
Nastavení podepisování kódu
App Center podporuje tři různé způsoby nastavení podepisování kódu pro aplikace pro Android. U všech tří metod musíte nejprve přejít do konfigurace sestavení a povolit podepisování kódu:
- Přejděte do aplikace v App Centeru.
- Přejděte na Build.
- Přejděte do větve, kterou chcete nakonfigurovat, tak, že ji vyberete ze seznamu.
- Buď použijte nabídku Nastavení v pravém horním rohu, nebo zvolte Konfigurovat , pokud vaše větev ještě není nakonfigurovaná pro sestavení.
- Povolte sestavení sign.
- Vyberte Uložit.
Pak v závislosti na vašem scénáři použijte nejvhodnější ze tří možností v následujících částech. První možnost zahrnuje vrácení přihlašovacích údajů do úložiště, zatímco ostatní dva používají App Center ke zpracování vašich přihlašovacích údajů.
Od Androidu 11 je povinné používat podepisující soubor APK (pokud používáte úroveň rozhraní API 30), protože se teď vyžadují některá další schémata "Schéma podpisu APK v2". App Center teď (od 17. prosince 2020) podepisuje aplikace pro Android interně pomocí podepisovače APK místo podepisující osoby JAR, která byla použita dříve. Jako součást funkce umožňující přihlášení APK v App Center, byla implementována úloha podepisování Androidu V3 a požadavky na novou úlohu podepisování bylo změnit způsob ukládání souboru úložiště klíčů do zabezpečeného souboru AzDO (úloha sestavení a vydání Androidu – Azure Pipelines | Microsoft Docs).
Upozorňující
Všechny konfigurace sestavení, které měly své soubory úložiště klíčů nahrané před 17. prosincem 2020, stále používají metodu podepisování schématu podpisů APK v2 (jarsigner). Pokud chcete použít tok podepisování schématu podpisů APK v3, uživatelé musí znovu nahrát své soubory úložiště klíčů a uložit konfiguraci větve.
Poznámka:
Použití modulu plug-in Android Gradle verze 4.1.x není plně podporováno. Chcete-li použít tuto verzi, musíte do gradle.properties
souboru přidat další nastavení možnosti:
android.useNewApkCreator = false
A. Ukládání všeho v konfiguraci Gradle
Podrobnosti o přihlašování můžete zadat v build.gradle
souboru (na úrovni aplikace). Podrobnosti o podepisování spolu se všemi přihlašovacími údaji a informacemi o úložišti klíčů se zobrazí v úložišti. Nejprve přidejte do svého kódu všechny položky, které potřebujete, a přihlaste se do úložiště. Potom v konfiguraci sestavení v App Center povolte nastavení My Gradle úplně tak, aby zpracovávala podepisování automaticky.
B. Nahrání všeho do App Center
Úložiště klíčů můžete nahrát a nakonfigurovat přihlašovací údaje pro podepisování prostřednictvím App Center. V takovém případě App Center nejprve sestaví vaši aplikaci pro Android a potom po úspěšném sestavení spustí podpisový krok.
Poznámka:
Sestavení lze podepsat pouze jednou. Ujistěte se, že nemáte žádné konflikty s podpisovými konfiguracemi v konfiguraci Gradle pro zvolenou variantu sestavení. Pokud v App Centeru i v souboru Gradle existují nastavení podepisování, může se sestavení zaregistrovat dvakrát, což vede ke konfliktům.
Konfiguraci sestavení nastavte v App Center následujícím způsobem:
- Zakázat nastavení Gradle je zcela nastaveno tak, aby se automaticky zpracovávala podepisování.
- Nahrajte soubor úložiště klíčů do přetažení souboru úložiště klíčů. Soubor můžete přetáhnout do pole nebo na něj kliknout a soubor vyhledat. Soubory úložiště klíčů mají příponu
.keystore
nebo.jks
. - Do odpovídajících polí zadejte heslo úložiště klíčů, alias klíče a heslo klíče. Tyto hodnoty jsou stejné, které byste jinak zadali v Android Studiu při podepsání buildu.
C. Ukládání podrobností o podepisování v úložišti pomocí proměnných prostředí
Tuto metodu použijte, pokud úložiště již obsahuje úložiště klíčů, ale nechcete přihlašovací údaje tam ukládat. V době sestavení se přihlašovací údaje zadají jako systémové vlastnosti sestavení Gradle. Informace o tom, jak je využít, najdete v následující ukázce kódu:
android {
signingConfigs {
releaseSigningConfig {
storeFile rootProject.file("app/testapp.jks")
storePassword System.getProperty("APPCENTER_KEYSTORE_PASSWORD")
keyAlias System.getProperty("APPCENTER_KEY_ALIAS")
keyPassword System.getProperty("APPCENTER_KEY_PASSWORD")
}
}
buildTypes {
release {
signingConfig signingConfigs.releaseSigningConfig
}
}
}
Zabezpečení hodnot za vlastnostmi systému vloženými do sestavení ve výše uvedeném kódu zajistí bezpečnost přihlašovacích údajů pro podepisování – hodnoty jsou zašifrované a dostupné jenom agentům sestavení v době sestavení. Hodnoty můžete zadat prostřednictvím App Centeru. Můžete také pevně zakódovat kteroukoli z hodnot a vrátit je se změnami do úložiště. Ochrana hodnot pomocí App Center:
- Přejděte do konfigurace sestavení.
- Ujistěte se, že je zaškrtávací políčko s názvem Moje nastavení Gradle zcela nastavené tak, aby automaticky zpracovával podepisování , které není zaškrtnuté.
- Do odpovídajících polí zadejte heslo úložiště klíčů, alias klíče a heslo klíče. Tyto hodnoty jsou stejné, které byste jinak zadali v Android Studiu při podepsání buildu.
Pokud používáte varianty produktu, možná budete muset výše uvedený kód upravit, aby všechny konfigurace vydaných verzí používaly správnou konfiguraci podepisování.
Poznámka:
Pokud použijete signingConfig
možnost v oddílu buildTypes
v build.gradle
souboru (na úrovni aplikace), můžete při sestavování App Center čelit chybám při podepisování kódu. To platí hlavně pro aplikace, které používají React Native pro Android verze 0.60.x a vyšší:
Execution failed for task ':app:validateSigningRelease'.
Keystore file '.../android/app/debug.keystore' not found for signing config 'debug'
Pokud chcete tento problém vyřešit, musíte odeslat správné úložiště klíčů používané k podepisování do úložiště a povolit nastavení My Gradle je zcela nastavené tak, aby se automaticky zpracovávaly přihlašování v konfiguraci sestavení na portálu App Center.
Pokud jste na portálu App Center nahráli úložiště klíčů do konfigurace sestavení, vezměte v úvahu, že tento přístup bude vyžadovat odstranění signingConfig
možnosti z buildTypes
oddílu souboru build.gradle
(na úrovni aplikace), pokud jste ho neaktualizují z výchozího stavu šablony projektu React Native.