Nastavení podepisování kódu pro Android v App Center

Důležité

31. března 2025 je naplánované vyřazení z provozu. I když můžete dál používat Visual Studio App Center, dokud ho úplně vyřadíte, 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 a alternativách podpory.

Tip

U uživatelů Xamarin.Android se proces mírně liší. Podrobnosti najdete v průvodci podepisováním kódu Xamarin.Android .

Podepisování aplikace je potřeba spustit aplikaci na skutečných zařízeních během procesu vývoje nebo ji distribuovat 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. Tato sestavení budou automaticky podepsána kódem pomocí klíče ladění. Pro sestavení verze, které se nasadí, nahrajte úložiště klíčů do App Center.

Generování úložiště klíčů

Pokud úložiště klíčů aktuálně nemáte, můžete ho vygenerovat v Android Studiu. Pokyny k vygenerování úložiště klíčů pro podepisování sad API 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:

  1. Přejděte do aplikace v App Centeru.
  2. Přejděte na Sestavení.
  3. Přejděte do větve, kterou chcete nakonfigurovat, tak, že ji vyberete ze seznamu.
  4. 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í.
  5. Povolte sestavení sign.
  6. Zvolte 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í k zpracování vašich přihlašovacích údajů App Center.

Od Androidu 11 je povinné používat podepisující soubor APK (pokud používáte rozhraní API úrovně 30), protože nastaví některá další schémata "APK Podpis schéma v2 se nyní vyžaduje". App Center teď (od 17. prosince 2020) podepisuje aplikace pro Android interně pomocí podepisovače APK namísto podepisovače JAR, který se používal dříve. Jako součást funkce, která umožňuje podepisovat apk v App Center, byla implementována podpisová úloha Androidu verze 3 a požadavky na novou úlohu podepisování měly změnit způsob ukládání souboru úložiště klíčů – uložit soubor úložiště klíčů do zabezpečeného souboru AzDO (úloha podepisování a vydání Androidu – Azure Pipelines | Microsoft Docs).

Upozornění

Všechny konfigurace sestavení, které měly soubory úložiště klíčů nahrané před 17. prosincem 2020, stále používají metodu podepisování APK Signature Scheme v2 (jarsigner). Pokud chtějí uživatelé používat tok podepisování schématu podpisů APK v3, stačí znovu nahrát soubory úložiště klíčů a uložit konfiguraci větve.

Poznámka

Použití modulu plug-in Gradle pro Android verze 4.1.x není plně podporováno. Pokud chcete tuto verzi použít, musíte do gradle.properties souboru přidat další nastavení možnosti:

 android.useNewApkCreator = false

A. Ukládání všeho v konfiguraci Gradle

Podpisové údaje můžete zadat v build.gradle souboru (na úrovni aplikace). Podrobnosti podepisování spolu se všemi přihlašovacími údaji a informacemi o úložišti klíčů budou viditelné v úložišti. Nejprve přidejte všechny položky, které potřebujete, do kódu a se změnami je vložte do úložiště. Pak v konfiguraci sestavení v App Center povolte nastavení Moje Gradle, které je zcela nastavené tak, aby automaticky zpracovávalo podepisování.

B. Nahrání všeho do App Center

Úložiště klíčů můžete nahrát a nakonfigurovat podpisové přihlašovací údaje prostřednictvím App Center. V takovém případě App Center nejprve sestaví vaši aplikaci pro Android a po úspěšném sestavení spustí podpisový krok.

Poznámka

Sestavení se dá podepsat jenom jednou. Ujistěte se, že nemáte žádné konflikty s konfiguracemi podepisování v konfiguraci Gradle pro zvolenou variantu sestavení. Pokud v App Centeru i v souboru Gradle existují nastavení podepisování, může se sestavení podepsat dvakrát, což vede ke konfliktům.

Nastavte konfiguraci sestavení v App Center následujícím způsobem:

  1. Zakázat nastavení Gradle je zcela nastavené tak, aby se podepisování zpracovávalo automaticky.
  2. Nahrajte soubor úložiště klíčů do rozevíracího seznamu Pro nahrání 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.
  3. Do odpovídajících polí zadejte heslo úložiště klíčů, alias klíče a heslo klíče. Jedná se o stejné hodnoty, které byste jinak zadali v Android Studiu při podepisování buildu.

C. Ukládání podpisových podrobností v úložišti pomocí proměnných prostředí

Tuto metodu použijte, pokud úložiště už úložiště klíčů obsahuje, ale nechcete tam ukládat přihlašovací údaje. V době sestavení se přihlašovací údaje zadají jako systémové vlastnosti sestavení Gradle. Informace o tom, jak je používat, 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 systémových vlastností vloženého do sestavení ve výše uvedeném kódu zajišťuje bezpečnost přihlašovacích údajů pro podepisování – hodnoty jsou šifrované a dostupné jenom agentům sestavení v době sestavení. Hodnoty můžete zadat prostřednictvím App Center. Můžete také pevně zakódovat libovolnou hodnotu a vrátit je se změnami do úložiště. Pokud chcete k ochraně hodnot použít App Center:

  1. Přejděte ke konfiguraci sestavení.
  2. Ujistěte se, že zaškrtávací políčko s názvem Nastavení Gradle je zcela nastavené tak, aby automaticky zpracovávalo podepisování , které není zaškrtnuté.
  3. Do odpovídajících polí zadejte heslo úložiště klíčů, alias klíče a heslo klíče. Jedná se o stejné hodnoty, které byste jinak zadali v Android Studiu při podepisování buildu.

Pokud používáte příchutě produktů, možná budete muset upravit výše uvedený kód tak, aby všechny konfigurace verzí používaly správnou konfiguraci podepisování.

Poznámka

Pokud použijete signingConfig možnost uvnitř oddílu buildTypes v build.gradle souboru (na úrovni aplikace), může se při sestavování App Center vyskytnout chybami při podepisování kódu. To je důležité 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 nasdílit správné úložiště klíčů, které se používá k podepisování do úložiště, a povolit nastavení Gradle je zcela nastavené tak, aby automaticky zpracovávalo podepisování v konfiguraci sestavení na portálu App Center.

Pokud jste do konfigurace sestavení na portálu App Center nahráli úložiště klíčů, 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 ji neaktualovali z výchozího stavu šablony React Native projektu.