# 申请

  1. 登录开发者中心

  2. 在应用管理 - 点击应用 - 各平台信息 创建以及查看离线AppKey: avatar

    SHA1的获取请参考该文章

    AppKey不区分debug和release模式,Andorid如需要调试需要使用申请AppKey时的证书

# 配置

# Android

# build.gradle配置

主APP的build.gradle文件的android节点下配置应用的签名信息,可参考离线配置:

signingConfigs {
        config {
            keyAlias '签名别名'
            keyPassword '签名密码'
            storeFile file('xxx/xxx/xxx.keystore或xxx/xxx/xxx.jks') // 路径为相对路径或绝对路径
            storePassword '密码'
            v1SigningEnabled true //兼容v1
            v2SigningEnabled true //兼容v2
        }
}

buildTypes {
        debug {
            signingConfig signingConfigs.config
            ...
        }
        release {
            signingConfig signingConfigs.config
            ...
        }
}

注意:签名信息需要与后台一致,不一致也会导致appkey校验失败。

# Androidmanifest.xml配置

获取到android平台的AppKey后!打开Android项目 配置主APP的Androidmanifest.xml文件, 导航到Application节点,创建meta-data节点,name为dcloud_appkey,value为申请的AppKey如下:

	<application
        ...>
        <meta-data
            android:name="dcloud_appkey"
            android:value="替换为自己申请的Appkey" />

# IOS

请点击下面链接参考IOS平台的配置Appkey章节

iOS

# 常见问题

# 1. 项目配置都正确怎么还是提示"未配置AppKey或配置错误"?

这种情况不用怀疑。还是安装包的信息与你在申请Appkey填写信息不符导致的。 appid+应用包名+签名sha1三者必须与申请填写的信息一致才可以的。

android平台 可以按一下步骤检查一下离线项目配置:

  1. 查看签名文件是否配置到了主APP的build.gradle。注意:需要将signingConfigs添加到buildTypes才会生效

  2. 查看离线项目中dcloud_control.xml文件中的appid是否与申请AppKey时的appid一致。


  3. 检测离线项目的包名是否申请AppKey时的包名是否一致。


  4. 对比安装包apk文件的SHA1是否与应用后台配置的SHA1一致。

    • Android studio调试时提示appkey配置错误,参考文档获取签名信息与后台配置SHA1对比是否一致。
    • 生成正式包时提示appkey配置错误,获取安装包apk文件获取(签名参考下面问题4)与后台配置SHA1对比是否一致。
  5. 检查dcloud_appkey配置位置是否正确,dcloud_appkey一定要放到Androidmanifest.xml文件的application节点里。

	<application>
        <meta-data
            android:name="dcloud_appkey"
            android:value="替换为自己申请的Appkey" />
	</application>

# 2. android平台 怎么创建签名文件?怎么获取签名文件的SHA1?

请查看文档Android平台签名证书(.keystore)生成指南

# 3. android平台打包完的apk文件我怎么查看签名信息对比sha1呢?

  • 首先使用解压工具解开apk。

  • 进入meta-inf文件夹,进入命令行模式 输入如下命令 参考文章

keytool -printcert -file CERT.RSA