首页 > 建站教程 > APP开发,混合APP >  uni-app离线打包之Geolocation解决方案正文

uni-app离线打包之Geolocation解决方案

首先,离线打包在HbuilderX的manifest.json中配置是无效的,这个配置仅在云打包时生效。


一、百度定位

将在uniapp 3.6.3安卓离线打包教程提到的下载的SDK\libs目录下的jar/aar文件:

baidu-libs-release.aar、geolocation-baidu-release.aar

拷贝到 工程\simpleDemo\libs 目录下。


Androidmainfest.xml文件application节点下配置如下代码

<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="%appkey_android%"></meta-data>
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"></service>


二、高德定位

将在uniapp 3.6.3安卓离线打包教程提到的下载的SDK\libs目录下的jar/aar文件:

AMap_Location_XXX.jar(XXX为版本号)、geolocation-amap-release.aar

拷贝到 工程\simpleDemo\libs 目录下。

注意:3.3.6及以下版本要使用amap-libs-release.aar代替AMap_Location_XXX.jar


Androidmainfest.xml文件需要修改的项

需要在application节点前添加权限

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>


application节点下配置如下代码

<meta-data android:name="com.amap.api.v2.apikey" android:value=\"%用户申请的APPkey%\"></meta-data>
<service android:name="com.amap.api.location.APSService"></service>


三、系统定位

Androidmainfest.xml文件application节点下配置如下代码

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>