高版本Andriod Studio集成HMS环境看这篇就够了(附加步骤多图、资源下载、源代码、问题总结)
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) 配置步骤总结
- 注册并实名华为开发者联盟账号
- 新建Android项目,项目名和包名后续会用
- 新建并配置签名文件
- 使用华为开发者联盟新建项目、使用Android项目和包名绑定应用,开启各项服务
- 按照华为开发者联盟步骤集成基础SDK、添加插件
- 使用签名文件生成SHA256证书指纹并绑定到华为开发者联盟项目中
- Android项目集成HMS环境,如添加依赖、配置混淆
- 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) 问题总结
- signingConfigs写在了buildTypes下方
- 依赖包路径hms后面的 : 打成了 .
- 混淆配置中Annotation两边的 * 打成了 ’
圈中的 . 后面两个 * 只打了一个
- 在运行在中出现以下或类似报错
将在模块级的build.gradle文件下,默认配置中的minSdk和targetSdk版本改为如图所示
高版本Andriod Studio集成HMS环境看这篇就够了(附加步骤多图、资源下载、源代码、问题总结)相关推荐
- jenkins maven没有使用全局设置文件地址_持续集成工具Jenkins看这篇就够啦!
本文基于当前最新的 LTS 版本 2.164.1 ,理论上适应于Jenkins 2.x所有版本. 一.下载 前往Jenkins官网[1] ,按需下载.如用于生产,建议下载Long-term Suppo ...
- Jenkins 流水线 获取git 分支列表_持续集成工具Jenkins看这篇就够啦!
本文以基于当前最新的 LTS 版本 2.164.1 ,理论上适应于Jenkins 2.x所有版本. 一.下载 前往Jenkins官网 ,按需下载.如用于生产,建议下载Long-term Support ...
- 持续集成工具Jenkins看这篇就够啦!
本文以基于当前最新的 LTS 版本 2.164.1 ,理论上适应于Jenkins 2.x所有版本. 一.下载 前往Jenkins官网[1] ,按需下载.如用于生产,建议下载Long-term Supp ...
- Springboot集成Kafka,看这篇就够了。Kafka消息事务处理,同步异步分区拦截。
一.基础配置引入 1. 依赖引入(二选一) - pom.xml <dependency><groupId>org.springframework.kafka</group ...
- 多版本Visual Studio 集成环境下的WCF 开发-服务库默认配置表
多版本Visual Studio 集成环境下的WCF 开发-服务库默认配置表 Visual Studio2008 Visual Studio2008只有服务库,而没有服务应用程序,其服务库生成配置文件 ...
- python的集成开发环境搭建_Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细)...
Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细) 前沿 Hello,各位看官,您是不是决定要学习Python数据分析,您是不是现在正在"学" ...
- anaconda必须安装在c盘吗_Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细)...
Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细) 前沿 Hello,各位看官,您是不是决定要学习Python数据分析,您是不是现在正在"学" ...
- .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了
本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新手朋友),但是转念一想不如来点猛的(考虑到急性子的朋友),让你通过本文的学习就能快速的入门ASP.NET Core.既 ...
- [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了
园子里关于ASP.NET Core Web API的教程很多,但大多都是使用EF+Mysql或者EF+MSSQL的文章.甚至关于ASP.NET Core Web API中使用Dapper+Mysql组 ...
最新文章
- 解读比特币白皮书:点对点电子现金系统
- nyoj1311勤奋的涟漪
- 产品更新教程-钉钉宜搭版本:手写签名和定位组件来了
- [Laravel框架学习一]:Laravel框架的安装以及 Composer的安装
- 华为NOVa8Pr0是用鸿蒙系统吗,华为Nova8即将发布,采用麒麟芯片,高端平板适配鸿蒙系统...
- [原创]linux简单之美(二)
- [Drupal] How to add the js file and js code block in Drupal
- 【LeetCode笔记】剑指 Offer 57- II. 和为 s 的连续正数序列(Java、滑动窗口、二刷)
- HDU2107 Founding of HDU【序列处理+最大值】
- Primer – 支撑 GitHub 的 CSS 工具包和准则
- 关羽卖枣,张飞杀猪,二人何以有“盖世武功”?
- 控制台中如何将IE11降级
- 49个Excel常用技巧
- ZZNUOJ_C语言1007:鸡兔同笼(完整代码)
- 【Unity3D开发小游戏】《太空射击游戏》Unity开发教程
- 福州大学数学与计算机科学学院复试名单,福州大学数学与计算机科学/软件学院2020年硕士研究生招生复试结果(专业型公示)...
- oracle 70个常用函数
- 在浏览器中嵌入播放器
- 浅谈《守望先锋》中的 ECS 构架
- DbContext 查询(三)