解决百度地图230错误(App Scode码校验失败)

错误原因很简单,就是ak不匹配,一般这种错误是出现在App签名打包发布后,也就是正式版的App中使用的ak会与开发时的ak不同,因为根据官方文档,这个ak的组成,是数字签名+“;”+包名;
在开发时(也就是debug版)用的是sdk的数字签名,获取方法很如官方文档所述。
在发布时(也就是release版)用的是打包签名时的签名,所以在在正式发布时,如果依然使用之前之前的ak,会报如下错误:
这里写图片描述

解决办法就是替换掉之前的签名,使用正式版的签名。

获取正式版签名的方法:

  • 在签名的时候,会生成一个.jks文件,这个就是最新的签名文件(之前的版本可能是.keystore文件),这个文件的位置是自定义的,在签名的时候设定。

  • 然后打开命令行,定位到jdk中的bin(不明原因,我电脑上配置了环境变量不起作用,所以只好定位到文件夹执行命令)
    这里写图片描述

  • 然后执行命令 keystool -list -v -keystore [签名文件的绝对路径](比如我的签名文件放在C:\Users\tancen.AndroidStudio\KeyStore\tenutekey.jks)
    这里写图片描述

  • 接下来输入密码(在AndroidStudio签名打包时的密码)
    这里写图片描述

  • 然后就能看到签名文件信息了:
    这里写图片描述

图中的SHA1值就是新的签名,将这个值替换到百度地图控制台中原有的ak值中的签名:
这里写图片描述

到此,应用ak修改完成,现在的ak就是release版应用的ak,错误解决。

前端做非空校验的方式有以下几种: 1. HTML5 的 required 属性 ```html <form> <input type="text" name="username" required> <button type="submit">提交</button> </form> ``` 在表单元素中添加 required 属性,如果用户未填写该字段,提交表单时会提示用户必须填写该字段。 2. JavaScript 的 if 语句 ```html <form> <input type="text" name="username"> <button type="submit" onclick="submitForm()">提交</button> </form> <script> function submitForm() { var username = document.getElementsByName('username')[0].value; if (username === '') { alert('用户名不能为空'); return false; } } </script> ``` 使用 if 语句判断输入框的 value 是否为空,如果为空则提示用户必须填写该字段。 3. JavaScript 的正则表达式 ```html <form> <input type="text" name="username"> <button type="submit" onclick="submitForm()">提交</button> </form> <script> function submitForm() { var username = document.getElementsByName('username')[0].value; if (/^\s*$/.test(username)) { alert('用户名不能为空'); return false; } } </script> ``` 使用正则表达式判断输入框的 value 是否为空或只包含空格,如果是则提示用户必须填写该字段。 4. jQuery 的 validate 插件 ```html <form id="myform"> <input type="text" name="username"> <button type="submit">提交</button> </form> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script> <script> $(function() { $('#myform').validate({ rules: { username: { required: true } }, messages: { username: { required: '用户名不能为空' } } }); }); </script> ``` 使用 jQuery 的 validate 插件可以快速进行表单验证,包括非空校验、长度限制、邮箱格式验证、手机号格式验证等等。 5. Vue.js 的表单验证 ```html <div id="app"> <form> <input type="text" v-model="username"> <button type="submit" @click.prevent="submitForm">提交</button> </form> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script> new Vue({ el: '#app', data: { username: '' }, methods: { submitForm: function() { if (this.username === '') { alert('用户名不能为空'); return false; } } } }); </script> ``` 使用 Vue.js 的表单验证功能可以对表单进行非空校验、长度限制、邮箱格式验证、手机号格式验证等等。 6. React.js 的表单验证 ```jsx import React, { useState } from 'react'; function App() { const [username, setUsername] = useState(''); function submitForm() { if (username === '') { alert('用户名不能为空'); return false; } } return ( <div> <form> <input type="text" value={username} onChange={(e) => setUsername(e.target.value)} /> <button type="submit" onClick={submitForm}>提交</button> </form> </div> ); } export default App; ``` 使用 React.js 的表单验证功能可以对表单进行非空校验、长度限制、邮箱格式验证、手机号格式验证等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值