由DCloud服务器根据你的appid自动生成证书,生成证书后可登录DCloud开发者中心查看证书详情或下载证书文件。云证书的优势是开发方便,但在发布商业应用时,商业组织往往会分离开发证书和发布证书,发布证书仅少数人掌管。DCloud建议开发阶段使用云证书,开发者打包出apk后,交给掌管发布证书的人员使用发布证书自行重签,再上架应用商店。需要注意的是,DCloud不对开发者证书管理行为不规范引发的问题负责,服务器生成的证书会自动填写证书信息,不支持自定义证书信息,有效期为100年。
如果开发者已经有自己的安卓签名证书,可直接使用。如果没有证书,可以使用JDK的keytool工具生成一个,制作Android证书没有费用。具体步骤如下:
cd C:\\Program Files\\Java\\jdk1.8.0_221\\bin // Windows示例路径
cd /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/bin // Mac示例路径
keytool -genkey -v -keystore my-release-key.keystore -alias my-release-key -keyalg RSA -keysize 2048 -validity 10000
命令解释:
-genkey
:生成密钥对和证书。-v
:在终端中显示密钥和证书的详细信息。-keystore my-release-key.keystore
:指定要生成的.keystore文件名。-alias my-release-key
:指定密钥和证书的别名,可以自定义。-keyalg RSA
:指定密钥算法为RSA。-keysize 2048
:指定密钥的位数为2048。-validity 10000
:指定证书的有效期,单位为天。在Android中,包名(Package Name)是应用的唯一标识符,采用反写域名命名规则(如com.xxx.xxx形式),可以包含大写或小写字母、数字和下划线(“_”),不过,各个名称部分只能以字母开头。
APK格式安装包支持配置渠道信息,默认提供以下渠道配置项:
渠道名称 | 渠道标识 |
---|---|
华为 | huawei |
OPPO | oppo |
VIVO | vivo |
小米 | xiaomi |
荣耀 | honor |
应用宝 | yyb |
应用中可通过 uni.getAppBaseInfo
返回的 channel
属性获取应用的渠道信息,勾选“无”表示不使用渠道信息,uni.getAppBaseInfo
返回的 channel
属性值为空字符串。如果默认的渠道信息不够用,想要更多渠道,可在 manifest.json
的 源码视图
配置 "__hbuilderx" -> "channel_list"
,保存后,重新打开“App打包”界面,在“APK渠道包”项中会列出新增加的自定义渠道,勾选后提交云端打包才能生效。
manifest.json
文件中的基本信息设置无误,包括应用名称、包名、图标等必要字段。unpackage/dist/build/android/release/
路径找到生成好的apk文件,此外,系统还会给出具体的下载链接方便快速获取最新构建成果。keytool -genkey -alias 证书别名 -keyalg RSA -keysize 2048 -validity 证书的有效期(单位为天) -keystore 证书文件名.keystore
例如:
keytool -genkey -alias test -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
之后查看证书,使用命令:
keytool -list -v -keystore 证书文件名.keystore
例如:
keytool -list -v -keystore test.keystore
显示的信息如下,重点注意证书指纹信息:SHA1,SHA256,之后要用到。
_UNI_F60B5A5
就是生成的资源)。HBuilder-Integrate-AS\\simpleDemo\\src\\main\\assets\\apps_UNI_A
删除,替换为HBuilderX生成的资源,修改 simpleDemo/src/main/AndroidManifest.xml
中的包名为dcloud里配置的包名,以及修改 android:value
的值为之前生成的“离线打包key”,修改 simpleDemo/src/main/assets/data/dcloud_control.xml
中的appid为你的appid,修改 simpleDemo/build.gradle
中的 applicationId
为包名,修改 simpleDemo\\src\\main\\res\\values\\strings.xml
的 app_name
为你需要的app名称,配置构建使用的jdk版本,进入设置,进入Build/Build Tools/Gradle菜单,将默认使用的jdk改为本地的jdk1.8,之后点击OK,打包,选中APK,填写证书路径,别名,密码等信息,点击Next,选中release,点击Create开始打包,打包成功之后生成的apk文件在 simpleDemo/release
路径下。必须要有苹果开发者账号,并且加入了 “iOS Developer Program”,Mac OS 10.9以上系统(如果已经申请p12证书则不需要)。
由于重新生成证书时不需要重新申请App ID,一个应用程序自始至终都只需要申请一个App ID即可,如果没有App ID,则可以根据相关步骤进行处理。
需要使用mac苹果电脑,点击苹果电脑右上角的搜索图标,输入“钥匙串访问”,即可打开“钥匙串访问”功能,打开菜单 “钥匙串访问”->“证书助理”,选择“从证书颁发机构请求证书…”,打开创建请求证书页面,在页面中输入用户邮件地址、常用名称,选择存储到磁盘,点击 “继续”,文件名称为“CertificateSigningRequest.certSigningRequest”,选择保存位置,点击 “存储” 将证书请求文件保存到指定路径下,后面申请开发(Development)证书和发布(Production)证书时需要用到。
在证书管理页面选择 “Certificates” 可查看到已申请的所有证书(TYPE:Development为开发证书,Distribution为发布证书),点击页面的加号来创建一个新的证书,在 “Software” 栏下选中 “iOS App Development” 然后点击 “Continue”,接下来需要用到刚刚生成的证书请求文件,点击“Choose File…”选择刚刚保存到本地的 “CertificateSigningRequest.certSigningRequest” 文件,点击 “Continue” 生成证书文件,生成证书后选择 “Download” 将证书下到本地 (ios_development.cer)。需要在苹果电脑中双击保存到本地的 ios_development.cer
文件,会自动打开 “钥匙串访问” 工具说明导入证书成功,可以在证书列表中看到刚刚导入的证书,接下来需要导出 .p12
证书文件,选中导入的证书,右键选择 “导出…”,输入文件名、选择路径后点击 “存储”,输入密码及确认密码后点击 “好”,至此,完成了开发证书的制作(得到了xxx.p12证书文件)。接下来,继续生成开发阶段所需的描述文件,在生成描述文件之前,需要先添加调试设备(iPhone、iPad),然后进行申请描述文件,在证书管理页面选择 “Profiles”,可查看到已申请的所有描述文件,点击页面上的加号来添加一个新的描述文件,在 “Development” 栏下选中 “iOS App Development”,点击“Continue”按钮,这里要选择之前创建的 “App ID”,点击“Continue”,接下来选择需要绑定的证书,建议直接勾选 “Select All”,点击“Continue”,选择授权调试设备,建议直接勾选,点击“Continue”,输入描述文件名称,点击“Generate”生成描述文件,点击“Download”下载保存描述文件。
与申请开发证书和描述文件类似,在 “Software” 栏下选中 “iOS Distribution (App Store Connect and Ad Hoc)”,后续步骤相同,最终得到发布证书(xxx.p12)和发布描述文件。
Bundle ID (Bundle identifier)也叫 App ID 或者应用ID,是每个iOS应用的唯一标识,通常以反转的域名格式命名(如:com.example.appname),只能包含字母、数字、中划线和点号(.),不能包含特殊字符或空格,Bundle ID不区分大小写,推荐使用权小写字母。申请iOS证书、打包ipa和在itunesconnect创建App都要用到Bundle ID,整个App上架流程就是靠这个Bundle ID关联在一起。
必须勾选支持iPhone、支持iPad中的至少一项,勾选“支持iPhone”才能安装到iPhone设备,不勾选则无法安装到iPhone设备;勾选“支持iPad”才能在iPad设备全屏运行,不勾选此项也可以安装到iPad设备,但运行时会有黑边。
打包iOS安装必须使用Apple证书,需到Apple开发者网站申请,详情参考Apple证书申请。在打包时需要选择在Apple开发者网站申请的私钥证书、输入访问私钥证书的密码、选择与证书关联的Profile文件。
ipa
文件的构建和屏幕截图生成可以参考相关文档进行操作,生成ios证书的操作步骤可参考:https://ask.dcloud.net.cn/article/152。
生成正式包后,可以将应用程序提交到App Store进行审核。在Apple开发者网站中,登录你的开发者账号,进入“App Store Connect”页面,点击“我的App”-“+”按钮,按照提示填写应用程序的相关信息,并上传生成的正式包。