原因是直接运行时用的是开发版的SHA1,而打包后的app需要发布版的SHA1,得到发布版的SHA1后再在百度地图上重新创建应用得到新的ak值,然后放在清单文件中的地图value值替换,然后重新打包。
开发版SHA1 得到方法:双击就可以
发布版SHA1 得到方法:keytool -list -v -keystore keystore文件路径(.jks)