Aandriod Studio集成HMS环境

  • 0.前言
  • 1.开发环境介绍
    • a) Java版本
    • b) Android Studio版本
    • c) Gradle/SDK版本
  • 2.注册认证华为开发者联盟(个人开发者)
    • a) 进入网址,点击右上角管理中心
    • b) 注册/登录账号
    • c) 实名认证开发者
  • 3.新建Android Studio项目
    • a) 选择Phone and Table->Empty Activity
    • b) 项目基本配置
  • 4.创建并配置签名文件
    • a) 创建签名文件
    • b) 配置签名文件
  • 5.开发者联盟中新建项目、绑定应用
    • a) 创建项目
    • b) 绑定应用
    • c) 添加配置文件
    • d) 添加SDK(Gradle 7.0.2,版本不同,配置方法可能不同)
  • 6.生成、配置签名证书指纹
    • a) 使用cmd命令生成签名证书指纹
    • b) 配置签名证书指纹
    • c) 开通账号服务
  • 7.集成Account SDK
    • a) 添加依赖
    • b) 添加混淆配置
    • c) 添加权限
    • d) 添加元数据
    • e) 同步项目
  • 8.总结
    • a) 配置步骤总结
    • b) 代码汇总(本文中所出现的代码,以下都是部分代码,不可直接运行)
      • Ⅰ.配置签名文件
      • Ⅱ.生成签名证书
      • Ⅲ.集成SDK
      • Ⅳ.权限和元数据
    • c) 资源下载(阿里云盘)
    • d) 问题总结

0.前言

博主基于华为开发者学堂1+X初级开发课程
由于博主版本与教程中所用不一致
因此遇到许多配置语法上的不一致问题
其他与博主开发环境有区别的朋友们,仅供参考

1.开发环境介绍

a) Java版本

java 1.8

b) Android Studio版本

Android Studio 2020.3.1 Patch3

c) Gradle/SDK版本

Gradle: Gradle 7.0.2

SDK: Android 4.0

2.注册认证华为开发者联盟(个人开发者)

a) 进入网址,点击右上角管理中心

https://developer.huawei.com/consumer/cn/

b) 注册/登录账号

使用手机号或其他形式注册并登陆账号(需接收验证码)

c) 实名认证开发者

认证个人开发者,是否上架敏感应用,选否 > 使用身份证、银行卡、手机号等进行实名认证,提交完成

3.新建Android Studio项目

a) 选择Phone and Table->Empty Activity

b) 项目基本配置

如下,项目名、包名、保存路径皆可自定,语言选Java,最小SDK选4.1

4.创建并配置签名文件

a) 创建签名文件

创建好项目后,点上方菜单栏Build->Generate Signed Bunlde/APK

新建jks文件

特别注意加重的四个地方:将jks文件放到项目文件的app目录下,设置KeyStore密码为’123456’,设置Key别名Key密码设为’123456’,下面信息自填,完成后OK->Next

点击Finish

b) 配置签名文件

右侧Module级别的build.gradle文件,android闭包下添加这段签名配置(注意配置在buildTypes上方)
storeFile file()中填写刚刚创建的jks文件
keyAlias 对应key别名
keyPassword 对应key密码
storePassword 对应keyStore密码

在相同位置下方的buildTypes中添加以下代码
1.release中加入signingConfig signingConfigs.release
2.release下方添加debug闭包,加入如图两句代码

5.开发者联盟中新建项目、绑定应用

a) 创建项目

登录华为开发者联盟,进入右上角管理中心

进入我的项目

b) 绑定应用

创建应用

选择平台android,设备手机,绑定android项目名和包名-如:com.example.myapplication

c) 添加配置文件

下载项目生成的.json文件,将其按步骤放在项目中

d) 添加SDK(Gradle 7.0.2,版本不同,配置方法可能不同)

在项目级build.gradle文件下加入以下maven配置信息和依赖
在settings.gradle文件下配置如下一条maven,对应上面项目级build.gradle文件的maven

在模块级的build.gradle文件下,添加以下一条依赖包,对应build.gradle文件下的依赖
在模块级的build.gradle文件最上方plugins闭包中添加以下一条插件

6.生成、配置签名证书指纹

a) 使用cmd命令生成签名证书指纹

注意事项:
1.keytool命令为java内置命令,需提前设置JAVA_HOME环境变量
2.-keystore 后面的路径对应项目路径\app\签名文件.jks

b) 配置签名证书指纹

找到SHA256,配置到应用中的SHA256证书

c) 开通账号服务

在上方导航栏->API管理中将服务全部开启

7.集成Account SDK

a) 添加依赖

在模块级的build.gradle文件下,添加以下一条依赖包

b) 添加混淆配置

在proguard_rules.pro文件中添加如图代码,避免HMS Core SDK被混淆

c) 添加权限

在AndroidManifest.xml文件中添加网络和WIFI权限,如下

d) 添加元数据

在AndroidManifest.xml文件中添加如下元数据,当用户手机上未安装HMS Core ( APK)或者版本过低时,可引导用户安装或升级HMS Core ( APK )

e) 同步项目

最后,全部步骤完成后,点击编译器右上角,大象样子的按键,同步项目,无报错就配置完成了

8.总结

a) 配置步骤总结

  1. 注册并实名华为开发者联盟账号
  2. 新建Android项目,项目名和包名后续会用
  3. 新建并配置签名文件
  4. 使用华为开发者联盟新建项目、使用Android项目和包名绑定应用,开启各项服务
  5. 按照华为开发者联盟步骤集成基础SDK、添加插件
  6. 使用签名文件生成SHA256证书指纹并绑定到华为开发者联盟项目中
  7. Android项目集成HMS环境,如添加依赖、配置混淆
  8. Android项目添加权限、添加元数据

b) 代码汇总(本文中所出现的代码,以下都是部分代码,不可直接运行)

Ⅰ.配置签名文件
signingConfigs{release{storeFile file('HMSAccountApp.jks')keyAlias 'HMSAccountApp'keyPassword '123456'storePassword '123456'v1SigningEnabled truev2SigningEnabled true}}
buildTypes {release {signingConfig signingConfigs.releaseminifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}debug {signingConfig signingConfigs.releasedebuggable true}
}
Ⅱ.生成签名证书
keytool -list -v -keystore 'jks文件路径'
Ⅲ.集成SDK
// 项目级
maven { url 'https://developer.huawei.com/repo/' }
classpath 'com.huawei.agconnect:agcp:1.5.2.300'// 模块级
id 'com.huawei.agconnect'
implementation 'com.huawei.hms:hwid:5.1.0.301'
implementation 'com.huawei.agconnect:agconnect-core:1.5.2.300'// 混淆
-ignorewarnings
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes SourceFile, LineNumberTable
-keep class com.huawei.hianalytics.**{*;}
-keep class com.huawei.updatesdk.**{*;}
-keep class com.huawei.hms.**{*;}
Ⅳ.权限和元数据
// 权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>// 元数据
<meta-dataandroid:name="com.huawei.hms.client.channel.androidMarket"android:value="false"/>

c) 资源下载(阿里云盘)

Java 1.8.0_271:
https://www.aliyundrive.com/s/usj3zxdxhwaAndroid Studio 2020.3.1 Patch3:
https://www.aliyundrive.com/s/EaDqU6wvUSh项目源文件
https://www.aliyundrive.com/s/UDRwZjNJY8U

d) 问题总结

  1. signingConfigs写在了buildTypes下方
  1. 依赖包路径hms后面的 : 打成了 .
  1. 混淆配置中Annotation两边的 * 打成了 ’
    圈中的 . 后面两个 * 只打了一个
  1. 在运行在中出现以下或类似报错
    将在模块级的build.gradle文件下,默认配置中的minSdk和targetSdk版本改为如图所示

高版本Andriod Studio集成HMS环境看这篇就够了(附加步骤多图、资源下载、源代码、问题总结)相关推荐

  1. jenkins maven没有使用全局设置文件地址_持续集成工具Jenkins看这篇就够啦!

    本文基于当前最新的 LTS 版本 2.164.1 ,理论上适应于Jenkins 2.x所有版本. 一.下载 前往Jenkins官网[1] ,按需下载.如用于生产,建议下载Long-term Suppo ...

  2. Jenkins 流水线 获取git 分支列表_持续集成工具Jenkins看这篇就够啦!

    本文以基于当前最新的 LTS 版本 2.164.1 ,理论上适应于Jenkins 2.x所有版本. 一.下载 前往Jenkins官网 ,按需下载.如用于生产,建议下载Long-term Support ...

  3. 持续集成工具Jenkins看这篇就够啦!

    本文以基于当前最新的 LTS 版本 2.164.1 ,理论上适应于Jenkins 2.x所有版本. 一.下载 前往Jenkins官网[1] ,按需下载.如用于生产,建议下载Long-term Supp ...

  4. Springboot集成Kafka,看这篇就够了。Kafka消息事务处理,同步异步分区拦截。

    一.基础配置引入 1. 依赖引入(二选一) - pom.xml <dependency><groupId>org.springframework.kafka</group ...

  5. 多版本Visual Studio 集成环境下的WCF 开发-服务库默认配置表

    多版本Visual Studio 集成环境下的WCF 开发-服务库默认配置表 Visual Studio2008 Visual Studio2008只有服务库,而没有服务应用程序,其服务库生成配置文件 ...

  6. python的集成开发环境搭建_Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细)...

    Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细) 前沿 ​ Hello,各位看官,您是不是决定要学习Python数据分析,您是不是现在正在"学" ...

  7. anaconda必须安装在c盘吗_Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细)...

    Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细) 前沿 ​ Hello,各位看官,您是不是决定要学习Python数据分析,您是不是现在正在"学" ...

  8. .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了

    本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新手朋友),但是转念一想不如来点猛的(考虑到急性子的朋友),让你通过本文的学习就能快速的入门ASP.NET Core.既 ...

  9. [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了

    园子里关于ASP.NET Core Web API的教程很多,但大多都是使用EF+Mysql或者EF+MSSQL的文章.甚至关于ASP.NET Core Web API中使用Dapper+Mysql组 ...

最新文章

  1. 解读比特币白皮书:点对点电子现金系统
  2. nyoj1311勤奋的涟漪
  3. 产品更新教程-钉钉宜搭版本:手写签名和定位组件来了
  4. [Laravel框架学习一]:Laravel框架的安装以及 Composer的安装
  5. 华为NOVa8Pr0是用鸿蒙系统吗,华为Nova8即将发布,采用麒麟芯片,高端平板适配鸿蒙系统...
  6. [原创]linux简单之美(二)
  7. [Drupal] How to add the js file and js code block in Drupal
  8. 【LeetCode笔记】剑指 Offer 57- II. 和为 s 的连续正数序列(Java、滑动窗口、二刷)
  9. HDU2107 Founding of HDU【序列处理+最大值】
  10. Primer – 支撑 GitHub 的 CSS 工具包和准则
  11. 关羽卖枣,张飞杀猪,二人何以有“盖世武功”?
  12. 控制台中如何将IE11降级
  13. 49个Excel常用技巧
  14. ZZNUOJ_C语言1007:鸡兔同笼(完整代码)
  15. 【Unity3D开发小游戏】《太空射击游戏》Unity开发教程
  16. 福州大学数学与计算机科学学院复试名单,福州大学数学与计算机科学/软件学院2020年硕士研究生招生复试结果(专业型公示)...
  17. oracle 70个常用函数
  18. 在浏览器中嵌入播放器
  19. 浅谈《守望先锋》中的 ECS 构架
  20. DbContext 查询(三)

热门文章

  1. 经典蓝牙与低功耗蓝牙的区别(转)
  2. python Matplotlib中时间刻度标签的设置/主副刻度
  3. STM32开发笔记113:ADS1258驱动设计——读取温度值
  4. CCS 使用报错合集 -mcu:cc26xx
  5. Java画UML类图
  6. MyBatis查询缓存
  7. php集成环境和自己配置的区别,php集成环境、php绿色集成环境、php独立安装版环境这三者的区别
  8. Oracle 计算表中的时间与当前时间差
  9. 青藤 #10115 栈练习1
  10. sed命令详解及运用