👨💻个人主页 :@元宇宙-秩沅
👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
👨💻 本文由 秩沅 原创
👨💻 收录于专栏 :Unity基础实战
⭐🅰️⭐
文章目录
-
- ⭐🅰️⭐
- ⭐前言⭐
- [🎶(==1==) 百度地图Android SDK下载](#🎶(==1==) 百度地图Android SDK下载)
- [🎶(==2==) 下载Android Studio](#🎶(==2==) 下载Android Studio)
- [🎶(==3==) Android Studio工程配置](#🎶(==3==) Android Studio工程配置)
- 🎶(==4==)获取AK和SHA1
- 🎶(==5==)百度SDK导入unity
- 🎶(==6==)Unity安卓平台打包
- ⭐🅰️⭐
⭐前言⭐
🎶(1) 百度地图Android SDK下载
🎶(2) 下载Android Studio
android studio版本是:2021.2.1.16,
-
打开后 点击SDK Manager 我们需要更改一下SDK的安装路径
-
选择自己新建的文件夹,更改路径
-
SDK位置已更新
-
完成
🎶(3) Android Studio工程配置
- Step 1 :创建一个Empty 项目:
- 第一次创建项目会比较慢,等待加载完成即可
等待第一次加载完毕,而后部署签证
为什么要进行生成签名捆绑包
在Android开发中,部署签名和密钥库是用于对应用进行数字签名和加密的一种机制。
部署签名是通过使用开发者的私钥对应用进行签名的过程。签名后的应用可以用于发布到Google Play商店或其他渠道进行分发。签名后的应用可以确保应用的完整性和来源的真实性,防止被篡改或恶意修改。
密钥库是存储和管理密钥的文件。在Android开发中,通常使用Java密钥库(JKS)格式的文件来存储密钥。密钥库可以包含多个密钥对,每个密钥对都有一个相关的私钥和公钥。在部署签名过程中,开发者需要使用密钥库中的私钥对应用进行签名。
部署签名和密钥库在Android开发中扮演着重要的角色,不仅可以确保应用的完整性和来源的真实性,还可以保护应用的安全性。
- 选择build - Generate Signed Bundle or APK(生成签名捆绑包或APK)
- 此时我选择新建一个key Store
- 选择 release版本,后点击finish
🎶(4)获取AK和SHA1
什么是AK?
在百度地图中,AK 是 Access Key 的缩写,也被称为 API Key。每个使用百度地图 API 的开发者都需要申请一个 AK,用于身份验证和授权。AK 是一个字符串,类似于一个密码,用于标识和限制对百度地图 API 的访问权限。开发者在使用百度地图 API 时,需要将自己的 AK 嵌入到 API 请求中,以正确地调用和使用地图功能。每个 AK 都有一定的访问频率和配额限制,以保障服务的稳定性和可用性。
- 百度地图官网进行认证
- 点击我的应用,进行新应用的创建,类型为android SDK ,名字自命名,而后填写需要的SHA1
什么是SHA1呢?
SHA 1 _哈希算法。SHA1是一种加密算法,全称是Secure Hash Algorithm 1。在Android开发中,SHA1通常用于生成密钥、认证和数据完整性检查等方面。SHA1算法会将输入的数据(例如字符串、文件等)转换为一个固定长度的哈希值,通常是160位的二进制值。这个哈希值是唯一的,相同的输入将始终生成相同的哈希值,而不同的输入生成的哈希值几乎是完全不同的。SHA1在很多场景中被广泛使用,如数字签名、密码存储、消息认证等。在Android中,SHA1也常用于在应用程序中生成唯一标识符和签名验证等方面。
那么怎么获取SHA1呢
- 首先调式版本的SHA1,获取步骤如下:
打开cmd -> cd.android --->keytool -list -v -keystore debug.keystore - 其中发布版SHA1的密钥文件是你自己创建keystore时生成的JKS文件,如何获取?见下一步
- 在自己创建得keystore 路径中 打开DOS界面输入指令 keytool -list -v -keystore + 文件名及后缀
JKS文件和Keystore文件的区别:
JKS格式的文件和Keystore格式的文件都是用于存储密钥和证书的文件格式,但两者之间有一些区别:
- 文件扩展名:JKS格式的文件扩展名为.jks,而Keystore格式的文件扩展名可以是.jks、.jceks、.p12、.pfx等。
- 文件结构:JKS格式的文件是Java Key Store格式,是以Java KeyStore API为基础的专用格式,它可以存储多个密钥和证书,并使用别名进行引用。Keystore格式的文件可以是不同的类型,如PKCS#12、JKS等,但它们都可以包含一个或多个密钥和证书。
- 密钥类型:JKS格式的文件可以存储不同类型的密钥,包括私钥、公钥、对称密钥等。Keystore格式的文件也可以存储不同类型的密钥,但具体支持的密钥类型取决于文件的格式和使用的API。
- 兼容性:JKS格式的文件是Java特定的格式,主要用于Java应用程序和工具。Keystore格式的文件可以在不同的平台和语言中使用,因为它们可以基于公共的密钥存储标准如PKCS#12。
总的来说,JKS格式的文件是Java特定的密钥存储格式,适用于Java环境中的应用程序和工具。而Keystore格式的文件是一种通用的密钥存储格式,可以在不同的平台和语言中使用。
-
创建一个Unity工程,环境为安卓环境
-
而后PackageName 要与Unity工程的PackageName保持一致
-
提交后即可显示新建应用
🎶(5)百度SDK导入unity
- 创建一个简易的Button按钮
- 编写其按钮在安卓模式下的交互脚本
csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//-------------------------------------
//---------------------------------------------------------------------------------------------------------------
//___________项目: ______________
//___________功能: 按钮响应百度地图的接入
//___________创建者:_______秩沅_____
//_____________________________________
//-------------------------------------
public class Onclick : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
/// <summary>
/// 点击按钮时调用
/// </summary>
public void OnButtonClick()
{
#if UNITY_EDITOR//平台判断语句
Debug.Log("进入编辑器模式!");
#endif
#if UNITY_ANDROID
Debug.Log("进入安卓模式");
var pl = new AndroidJavaClass("com.DefaultCompany.BaiduMap.UnityPlayer");
var activity = pl.GetStatic<AndroidJavaObject>("currentActicity");
var args = new string[2] { "param1", "param2" };
activity.Call("Unity2AndroidFunc",args[0],args[1]);
#endif
}
}
- 在Asset文件夹下新建一个Plugins/Android文件夹,把下载的百度SDK"中的这几个文件夹拖到到这个文件夹下面
🎶(6)Unity安卓平台打包
- step1: 首先在 Building setting ------Player setting 中设置公司名,游戏名
- step2: 查看包名
-
step3: 打开Keystore Manager密钥库管理器新建签名
-
step4:填写发布相关(Publishing Setting)的信息
-
step5 :纹理压缩(Texture Compression)选择 ETC2
- step6: 勾选Export Project (导出用于Android Studio 的 Gradle文件)而后点击导出 Export
- 导出后如下所示
后续见下一章节
⭐🅰️⭐
你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!、