百度地图的鸿蒙版SDK相关的AK密钥获取是通过鸿蒙应用的appId和安卓应用的AK来共同生成,我们今天先讲讲如何获取鸿蒙APP应用对应的百度地图appId。

为了让更多鸿蒙初级APP应用开发者能够快速入门,我就提供一下自己获取鸿蒙应用开发环境中百度地图appId的方法,主要分为以下3步:
(1).进行真机联调,让自己的华为手机获取联调相关的签名;
(2).进行项目工程的配置,加载百度地图提供的轻量版鸿蒙SDK;
(3).进行日志信息查看,通过HiLog获取appld相关的值。
按照上面的操作顺序,我们可以很快的获取百度地图对应的appId,一起来进行操作吧!
步骤一:让自己的华为手机进入“开发者模式”,并通过USB的【文件传输】方式进行连接,获取AppGallery Connect提供的签名。

在百度地图开放平台的官网中,HarmonyOS轻量地图SDK在文档中为我们提示了相应的开发注意事项:HarmonyOS轻量地图SDK仅支持真机运行。
实际上也就是告知我们,想要真正获取与百度地图相关的appId必须进行真机联调。而华为手机的真机联调,必须要有相关的签名才行,我们必须要进AppGallery Connect官网创建一个项目和鸿蒙应用才行,具体操作如下:
(1).进入手机设置界面中,打开【关于手机】的界面;

打开“关于手机”
(2).在关于手机的界面中,用手指关机连续两次敲击【版本号】选项;

手指关节连续敲击“版本号”
(3).返回设置界面,打开【系统与更新】选项,会发现界面底部新增【开发人员选项】,紧接着在开发人员选项界面里面找到“调试”一栏,把【USB调试】打开进行手机有线连接。

(4).USB调试开启之后,我们先进入手机主界面,用手指继续滑动华为手机屏幕顶部左侧,打开【USB连接方式】的界面,并选择【传输文件】。

(5).选择文件传输选项之后,系统会继续弹出一个【是否允许USB调试】的窗口,这表明我们的手机已经生成相关的密钥信息。

(6).用自己的华为帐号进入AppGallery Connect官网,创建鸿蒙项目和项目之下的应用,并在【HarmonyOS应用】菜单中添加HarmonyAppProvision信息。

请注意,HarmonyAppProvision信息中的包名为:config.json配置文件中的bundleName,如下图。

(7).在鸿蒙代码开发编辑器中,找到菜单栏中的File选项,打开子选项Project Structure。

(8).进入Project Structure界面后,点击左侧的【project】选项,在【signing Configs】子界面中继续点击【try/catch】按钮,让其自动获取相关签名信息。

设置完成之后,我们会在自己的鸿蒙APP项目配置文件build.gradle中查看到相关签名内容,真机联调工作就算真正的设置成功。

步骤二:下载并添加HarmonyOS轻量地图SDK的开发包,完善项目整体配置,开始接入百度地图服务。
在获取鸿蒙APP对应的百度地图appId之前,我们需要在鸿蒙APP项目中继续完善项目的整体配置,列如HarmonyOS轻量地图SDK所需的相关权限、SDK开发包、第三方依赖,具体配置如下:
(1).下载开发包;

(2).把开发包中的
baidumapsdk_map_lite-release.har添加到项目中的libs目录;

(3).在项目配置文件config.json中添加所需的权限;
{
"module": {
"reqPermissions": [
{
"name": "ohos.permission.INTERNET",
"reason": "use network"
},
{
"name": "ohos.permission.GET_NETWORK_INFO",
"reason": "get network info"
},
{
"name": "ohos.permission.GET_BUNDLE_INFO",
"reason": "get bundle info"
}
]
}
}
(4).在项目配置文件build.gradle增加第三方库的依赖Gson;
dependencies {
.
.
.
implementation 'com.google.code.gson:gson:2.8.8'
}
以上配置都完善之后,我们可以开始通过代码的方式来真正获取appld。
步骤三:获取AppId,可以通过日志查找的方式来实现,我提议使用程序中提供的HiLogLabel工具类进行相关信息查找。
目前,我们能够通过手机联调,并且关于百度地图相关的配置也已经在项目中设置好了,接下来需要通过代码的方式来获取appId.
我自己实现获取appId的方式如下,代码示例:
public class MainAbilitySlice extends AbilitySlice {
//日志打印
private static final HiLogLabel hilog = new HilogLable(Hilog.DEBUG,"app_ID");
//包名_签名
private String appId;
@Override
public void onStart(Intent intent) {
.
.
.
try{
// 根据给定的bundle名称获取BundleInfo。
// 使用此方法需要申请 ohos.permission.GET_BUNDLE_INFO权限。
BundleInfo info = getBundleManager().getBundleInfo(getBundleName(), 0);
appId = info.getAppId();
Hilog.info(hilog,"签名:" + appId);
}catch(RemoteException e){
}
}
}
代码编写完成之后,我们第一打开代码编辑器底部的Log图标,在其窗口内进行日志信息相关的内容查询。列如,在Log的窗口界面中进行搜索,搜索框中输入“签名”,即可快速查找到appld的值。

结语:
百度地图的HarmonyOS轻量版SDK想要获取鸿蒙APP项目中的appId,第一要进行真机联调,再添加与百度地图相关的配置和权限,以便在代码中能够真正进行获取。
我在上面描述的步骤虽然比较多,但是实际上手操作并不是很难,希望你们能够熟练操作鸿蒙APP项目的真机联调和Hilog的日志信息查看,获取appId只是顺带给你们详细讲解一下,希望对鸿蒙APP开发感兴趣的开发者有协助。
看不懂
,编程挺好玩。