{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671508795473,"data":{"id":71713021,"title":"1.3初始化","slug":"mu1vnd","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"
成员 | 含义 | 示例说明 |
logFileName | 日志文件名称 | {logFileName}_{AutoSDK版本号}_dice_{引擎版本号}.log,比如BLLog_9.460.0.1.160000_dice.10.21.41.406.log |
\tlogPath | 日志文件存储路径 | 如/sdcard/navi/bllog/,之后程序执行过程中 就会在该路径下生成如下日志:
备注:
整个路径压缩成zip包,上传aone缺陷附件
|
\tlogLevel | 日志输出级别控制 | 如设值LogLevelVerbose,打印 error,warn,info,debug,高频日志; 如设置LogLevelNone=0, 不打印任何日志包括(log_GNet.log) |
\tgroupMask | 日志掩码,即可按模块打印日志 | 如设GROUP_MASK_ALL值,打印 所有模块日志 如设置GROUP_MASK_NULL=0, 不打印任何模块的日志包括(log_GNet.log) |
pPlatformUtil | 平台依赖回调监听 | HMI端需继承该监听接口类 |
\tserverType | 服务器后台环境类型 | 如设值AosProductionEnv,为公众正式网服务器类型; 如设值AosDevelopmentEnv,为联调测试网服务器类型; |
\trestKey | Rest服务器渠道密钥Key | 开放项目:无需申请,无需配置,AutoSDK自动从配置文件GRestConfig.ini获取 |
\trestSecurityCode | Rest服务器安全码 | 开放项目:无需申请,无需配置,AutoSDK自动从配置文件GRestConfig.ini获取 |
\tassetPath | BL_SDK资源文件的原始目录 | 如设:/android_assets/blRes/, 1、若传入的是bl资源在Android asset的根目录,须加 /android_assets 前缀标识,如 /android_assets/blRes/ 2、若传入本地路径,BL_SDK的资源需由客户端提前拷贝到该目录下 |
cachePath | 缓存目录,存放asset导出文件或日志文件等 | 如设: /sdcard/navi/data/ 备注:目录权限可读可写 |
userDataPath | 用户数据目录,保存用户生成数据 | 如设:/data/data/com.autonavi.navi/files 备注:目录权限可读可写 |
\taosDBPath | cookie信息生成路径 | 如/sdcard/navi/cookie/,配置该路径后 会生成aosinfo.db文件,用于保存cookie信息 |
async | 目前不支持 | (由于同步日志的模式GPI日志库会有性能问题) 目前,AutoSDK内部写死为 异步方式 |
\tmaxFiles | 目前不支持 | |
\tmaxFileSize | 目前不支持 | |
\trecordCacheMaxFiles | 日志文件最大个数,默认BLlog_xxx.log文件最多保留40个。 | 建议默认就可以。 |
\trecordCacheMaxFileSize | 单个日志文件默认最大字节数据, 默认单个BLlog_xxx.log文件保留最大20M。 | 建议默认就可以。 |
成员 | 二级成员含义 | 示例说明 |
dataPath | 样式、播报等相关配置存放路径 cfgFilePath | 如设:/sdcard/navi/data/ 客户端需要做如下步骤:
备注:若res不存在,需要客户端创建 |
在线TBT数据缓存路径 onlinePath | 如设:/sdcard/navi/data/online/ | |
离线地图数据下载存放路径 offlinePath | 如设:/sdcard/navi/data/offline/ | |
离线地图3D数据下载存放路径 off3DDataPath | 暂时无效,目前3D数据也是下载至offlinePath | |
long hWnd | 暂时无效 |
void com.autonavi.gbl.servicemanager.model.BaseInitParam.setIPlatformInterface (IPlatformInterface)
int com.autonavi.gbl.servicemanager.ServiceMgr.initBaseLibs (BaseInitParam baseInitParam, Application app)
int com.autonavi.gbl.servicemanager.initBL (BLInitParam blInitParam, Application app)
说明:函数详情,请复制函数名称到在线API搜索
核心关注:diu设备唯一号参数必须配置每台设备不相同(通常为32位),若未配置后台服务请求将出现异常。
package com.autonavi.auto.common;\n\n\nimport com.autonavi.auto.application.CC;\nimport com.autonavi.gbl.util.model.KeyValue;\nimport com.autonavi.gbl.util.model.NetworkStatus;\nimport com.autonavi.gbl.util.observer.IPlatformInterface;\n\nimport java.util.ArrayList;\n\n/**\n * 没有ServerKey的实现接口\n * rest开放平台\n */\npublic class RestPlatformInterface implements IPlatformInterface {\n @Override\n public void copyAssetFile(String assetFilePath, String destFilePath) {\n CommonUtil.copyAssetFile(assetFilePath, destFilePath);\n }\n\n @Override\n public float getDensity(int deviceId) {\n return CC.getApplication().getResources().getDisplayMetrics().density;\n }\n\n @Override\n public int getDensityDpi(int deviceId) {\n return CC.getApplication().getResources().getDisplayMetrics().densityDpi;\n }\n\n @Override\n public int getNetStatus() {\n return NetworkStatus.NetworkStatusWiFi;\n }\n\n @Override\n public ArrayList<KeyValue> getCdnNetworkParam() {\n ArrayList<KeyValue> keyValues = new ArrayList<>();\n /**< diu 设备唯一号,android--imei, ios--IDFV */\n keyValues.add(new KeyValue("diu", AutoConstant.IMEI));\n /**< client_network_class 获取当前网络状态 */\n keyValues.add(new KeyValue("client_network_class", "4"));\n /**< lon\t用户位置——经度 */\n keyValues.add(new KeyValue("lon", "116.427915"));\n /**< lat\t用户位置——纬度 */\n keyValues.add(new KeyValue("lat", "39.902895"));\n return keyValues;\n }\n\n @Override\n public boolean getAosNetworkParam(ArrayList<KeyValue> arrayList) {\n /**< diu 设备唯一号,android--imei, ios--IDFV必须设置,从系统获取,若不足32位用零补齐 */\n arrayList.add(new KeyValue("diu", AutoConstant.IMEI));\n //autodiv配置,直接读取aar配置\n\n /**< client_network_class 获取当前网络状态 */\n arrayList.add(new KeyValue("client_network_class", "4"));\n\n /**< os 系统类型,例如 LINUX */\n arrayList.add(new KeyValue("os", "android"));\n\n /**< dip 产品代码 请求发起方的应用唯一标识, 可严格区分不同应用、不同平台等等,GRestConfig.ini中有配置dip,此函数可以不填写*/\n arrayList.add(new KeyValue("dip", AutoConstant.dip));\n return true;\n }\n\n @Override\n public String amapEncode(byte[] strInput) {\n return new String();\n }\n\n @Override\n public String amapEncodeBinary(byte[] binaryInput) {\n return new String();\n }\n\n @Override\n public String amapDecode(byte[] bytes) {\n return new String();\n }\n\n @Override\n public boolean getAosSign(String s, String[] strings) {\n if (strings.length == 0) {\n return false;\n }\n strings[0] = ""; // 这是个出参,仅包含一个元素,需赋值过去\n return true;\n }\n}\n
package com.autonavi.auto.presenter;\nimport android.app.Application;\nimport com.autonavi.auto.BuildConfig;\nimport com.autonavi.auto.common.AutoConstant;\nimport com.autonavi.auto.common.CommonUtil;\nimport com.autonavi.auto.common.RestPlatformInterface;\nimport com.autonavi.auto.common.TBTResReaderImpl;\nimport com.autonavi.auto.utils.AssetUtils;\nimport com.autonavi.auto.utils.FileUtils;\nimport com.autonavi.auto.utils.SpUtils;\nimport com.autonavi.gbl.common.model.TbtCommonControl;\nimport com.autonavi.gbl.common.model.UserConfig;\nimport com.autonavi.gbl.common.model.WorkPath;\nimport com.autonavi.gbl.servicemanager.ServiceMgr;\nimport com.autonavi.gbl.servicemanager.model.ALCGroup;\nimport com.autonavi.gbl.servicemanager.model.ALCLogLevel;\nimport com.autonavi.gbl.servicemanager.model.BLInitParam;\nimport com.autonavi.gbl.servicemanager.model.BaseInitParam;\nimport com.autonavi.gbl.util.model.ErrorCode;\n\nimport java.io.File;\n\n\npublic class InitConfigPresenter {\n\n //加载引擎\n static {\n System.loadLibrary("GSQuirrel");\n System.loadLibrary("third_party_libs");\n System.loadLibrary("GPlatformInterface");\n System.loadLibrary("AutoCrypto");\n System.loadLibrary("AutoSSL");\n System.loadLibrary("GComm3rd");\n System.loadLibrary("mqtt");\n System.loadLibrary("GNet"); // 网络库\n System.loadLibrary("GNaviDice"); //引擎\n System.loadLibrary("Gbl");//bl\n }\n\n private Application mContext;\n private boolean async = false;//true为异步log、false为同步log\n\n private int baseLibInitResultCode = ErrorCode.AUTO_UNKNOWN_ERROR; // baseLib初始化结果\n private int initBLResultCode = ErrorCode.AUTO_UNKNOWN_ERROR; // bl初始化结果\n\n public InitConfigPresenter(Application context) {\n mContext = context;\n //拷贝资源文件等\n // ...\n initLib();\n initBL();\n }\n\n /**\n * 初始化基础库\n */\n public int initLib() {\n BaseInitParam param = new BaseInitParam();\n param.logPath = AutoConstant.BLLOG_DIR; //日志路径下\n param.logLevel = ALCLogLevel.LogLevelDebug; // 避免碰撞卡顿,暂调至debug级别\n param.groupMask = ALCGroup.GROUP_MASK_ALL;\n param.setIPlatformInterface(pPlatformUtil);\n\n param.serverType = BuildConfig.serverType;\n\n param.async = async;\n param.aosDBPath = AutoConstant.PATH;\n param.assetPath = "/android_assets/blRes/";\n param.userDataPath = AutoConstant.PATH;\n param.cachePath = AutoConstant.PATH;\n baseLibInitResultCode = ServiceMgr.getServiceMgrInstance().initBaseLibs(param, mContext);\n if (baseLibInitResultCode != ErrorCode.ErrorCodeOK) {\n //初始化失败\n }\n return baseLibInitResultCode;\n }\n \n /**\n * 初始化BL\n */\n public int initBL() {\n BLInitParam blInitParam = new BLInitParam();\n //配置文件路径\n blInitParam.dataPath.cfgFilePath = AutoConstant.PATH;\n //离线地图\n blInitParam.dataPath.offlinePath = AutoConstant.PATH + "data/navi/compile_v2/chn/"; // navi\n //精品三维地图\n blInitParam.dataPath.off3DDataPath = AutoConstant.PATH + "data/navi/compile_v2/chn/"; //\n //云加端存放路径\n blInitParam.dataPath.onlinePath = AutoConstant.PATH + "online/";\n\n FileUtils.createDIR(blInitParam.dataPath.offlinePath);\n FileUtils.createDIR(blInitParam.dataPath.onlinePath);\n\n initBLResultCode = ServiceMgr.getServiceMgrInstance().initBL(blInitParam, mContext);\n\n if (initBLResultCode != ErrorCode.ErrorCodeOK) {\n // initBL失败\n }\n return initBLResultCode;\n }\n\n //rest平台\n RestPlatformInterface pPlatformUtil = new RestPlatformInterface();\n}\n