使用本地凭证
这个网页介绍了如何在EAS中配置和使用本地凭证。以下是网页内容的中文翻译:
了解如何在EAS使用时配置和使用本地凭证。
通常,您可以通过让EAS为您处理来避免成为一个代码签名专家。然而,在某些情况下,一些用户可能希望自行管理他们的项目密钥库、证书和配置文件。
如果您想自行管理自己的应用签名凭证,您可以使用credentials.json来为EAS Build提供在本地文件系统中的凭证相对路径及其关联密码,以便使用它们来签名您的构建。
credentials.json
如果您选择使用本地凭证配置,您需要在项目的根目录创建一个credentials.json文件,它应该看起来像这样:
{
"android": {
"keystore": {
"keystorePath": "android/keystores/release.keystore",
"keystorePassword": "paofohlooZ9e",
"keyAlias": "keyalias",
"keyPassword": "aew1Geuthoev"
}
},
"ios": {
"provisioningProfilePath": "ios/certs/profile.mobileprovision",
"distributionCertificate": {
"path": "ios/certs/dist-cert.p12",
"password": "iex3shi9Lohl"
}
}
}
记得将credentials.json和所有凭证添加到**.gitignore**,这样您就不会意外地将它们提交到仓库并可能泄露您的秘密。
Android凭证
如果您想构建一个Android应用程序二进制文件,您需要有一个密钥库。如果您还没有发布密钥库,您可以使用以下命令自行生成(用您选择的值替换KEYSTORE_PASSWORD
、KEY_PASSWORD
、KEY_ALIAS
和com.expo.your.android.package
):
keytool \
-genkey -v \
-storetype JKS \
-keyalg RSA \
-keysize 2048 \
-validity 10000 \
-storepass KEYSTORE_PASSWORD \
-keypass KEY_PASSWORD \
-alias KEY_ALIAS \
-keystore release.keystore \
-dname "CN=com.expo.your.android.package,OU=,O=,L=,S=,C=US"
一旦您的计算机上有密钥库文件,您应该将其移动到适当的目录。我们建议您将密钥库保存在android/keystores
目录中。记得git-ignore您所有的发布密钥库! 如果您运行了上述keytool命令并将密钥库放置在android/keystores/release.keystore
,您可以通过向.gitignore
添加以下行来忽略该文件:
android/keystores/release.keystore
创建credentials.json并使用凭证进行配置:
{
"android": {
"keystore": {
"keystorePath": "android/keystores/release.keystore",
"keystorePassword": "KEYSTORE_PASSWORD",
"keyAlias": "KEY_ALIAS",
"keyPassword": "KEY_PASSWORD"
}
},
"ios": {
%%placeholder-start%%... %%placeholder-end%%
}
}
keystorePath
指向密钥库在计算机上的位置。支持相对(相对于项目根目录)和绝对路径。keystorePassword
是密钥库密码。如果您已遵循前面的步骤,那就是KEYSTORE_PASSWORD
的值。keyAlias
是密钥别名。如果您已遵循前面的步骤,那就是KEY_ALIAS
的值。keyPassword
是密钥密码。如果您已遵循前面的步骤,那就是KEY_PASSWORD
的值。
iOS凭证
构建iOS应用程序二进制文件需要更多的先决条件。您需要一个付费的Apple Developer账户,然后您需要为您的应用程序生成分发证书和配置文件,这可以通过Apple Developer Portal完成。
一旦您的计算机上有分发证书和配置文件,您应该将它们移动到适当的目录。我们建议您将它们保存在ios/certs
目录中。在本文档的其余部分,我们假设它们分别被命名为dist.p12和profile.mobileprovision。
记得将包含您凭证的目录添加到**.gitignore**,这样您就不会意外地将它们提交到仓库并可能泄露您的秘密。
如果您已将凭证放置在建议的目录中,您可以通过向**.gitignore**添加以下行来忽略这些文件:
ios/certs/dist.p12
ios/certs/profile.mobileprovision