[6.7.0][地图sdk] 升级地图sdk版本,并修复编译错误

This commit is contained in:
renwj
2024-10-16 17:22:27 +08:00
parent c4bcb2cb64
commit 5069f7b425
17 changed files with 203 additions and 25 deletions

View File

@@ -161,6 +161,10 @@ android {
packagingOptions { packagingOptions {
exclude 'META-INF/io.netty.versions.properties' exclude 'META-INF/io.netty.versions.properties'
doNotStrip '*/armeabi-v7a/*.so'
doNotStrip '*/armeabi/*.so'
doNotStrip '*/x86_64/*.so'
doNotStrip '*/x86/*.so'
} }
useLibrary 'android.test.runner' useLibrary 'android.test.runner'
@@ -201,8 +205,7 @@ dependencies {
compileOnly rootProject.ext.dependencies.serialport compileOnly rootProject.ext.dependencies.serialport
} }
// implementation rootProject.ext.dependencies.mogocustommap implementation rootProject.ext.dependencies.mogocustommap
implementation project(':libraries:mapmodule')
implementation project(':core:function-impl:mogo-core-function-startup') implementation project(':core:function-impl:mogo-core-function-startup')
implementation project(':core:function-impl:mogo-core-function-devatools') implementation project(':core:function-impl:mogo-core-function-devatools')

View File

@@ -1,28 +1,35 @@
package com.mogo.launcher.startup package com.mogo.launcher.startup
import android.content.Context import android.content.Context
import com.autonavi.nge.hdmap.HDMapProvider
import com.google.gson.reflect.TypeToken import com.google.gson.reflect.TypeToken
import com.mogo.commons.debug.DebugConfig import com.mogo.commons.debug.DebugConfig
import com.mogo.eagle.core.data.app.AppConfigInfo import com.mogo.eagle.core.data.app.AppConfigInfo
import com.mogo.eagle.core.data.app.UrlConfig import com.mogo.eagle.core.data.app.UrlConfig
import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.config.HdMapBuildConfig
import com.mogo.eagle.core.data.config.HmiBuildConfig import com.mogo.eagle.core.data.config.HmiBuildConfig
import com.mogo.eagle.core.data.config.JunkConfig import com.mogo.eagle.core.data.config.JunkConfig
import com.mogo.eagle.core.data.deva.chain.ChainConstant
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.eagle.core.utilcode.util.ProcessUtils import com.mogo.eagle.core.utilcode.util.ProcessUtils
import com.mogo.eagle.core.utilcode.util.StringUtils import com.mogo.eagle.core.utilcode.util.StringUtils
import com.mogo.launcher.BuildConfig import com.mogo.launcher.BuildConfig
import com.mogo.launcher.R
import com.shuyu.gsyvideoplayer.player.IjkPlayerManager import com.shuyu.gsyvideoplayer.player.IjkPlayerManager
import com.zhidaoauto.map.sdk.open.MapAutoApi import com.zhidaoauto.map.sdk.open.MapAutoApi
import com.zhidaoauto.map.sdk.open.MapParams import com.zhidaoauto.map.sdk.open.MapParams
import com.zhjt.mogo_core_function_devatools.env.EnvChangeManager import com.zhjt.mogo_core_function_devatools.env.EnvChangeManager
import com.zhjt.service.chain.ChainLog
import tv.danmaku.ijk.media.player.IjkMediaPlayer import tv.danmaku.ijk.media.player.IjkMediaPlayer
import java.util.concurrent.atomic.AtomicReference
object ConfigStartUp { object ConfigStartUp {
private const val TAG = "ConfigStartUp"
private val redisCallback by lazy { AtomicReference<HDMapProvider.IRedisLoadCallback>()}
@JvmStatic @JvmStatic
fun init(context: Context) { fun init(context: Context) {
initDebugConfig() initDebugConfig()
@@ -118,6 +125,72 @@ object ConfigStartUp {
.setIsRecordLogs(false) .setIsRecordLogs(false)
.setCoordinateType(MapParams.COORDINATETYPE_GCJ02) .setCoordinateType(MapParams.COORDINATETYPE_GCJ02)
MapAutoApi.init(context, mapParams) MapAutoApi.init(context, mapParams)
HDMapProvider.setRedisDataLoadCallback(object : HDMapProvider.IRedisLoadCallback {
override fun onLoginStart(ip: String, port: Int, password: String, dbIndex: Int) {
Logger.d(TAG, "-- onLoginStart --: ip: $ip, port: $port, password: $password, dbIndex: $dbIndex")
onRedisDataLoadRoute(mapOf("onLoginStart" to "ip:$ip, port:$port, password: $password, dbIndex: $dbIndex"))
}
override fun onLoginSuccess() {
Logger.d(TAG, "-- onLoginSuccess --")
onRedisDataLoadRoute(mapOf("onLoginSuccess" to ""))
}
override fun onLoginFailed(error: String?) {
Logger.d(TAG, "-- onLoginFailed($error) --")
onRedisDataLoadRoute(mapOf("onLoginFailed" to "fail_reason:$error"))
}
override fun onReLogin(isCanRetry: Boolean) {
Logger.d(TAG, "-- onReLogin($isCanRetry) --")
onRedisDataLoadRoute(mapOf("onReLogin" to "isCanRetry:$isCanRetry"))
}
override fun onTileLoadStart(layerId: String, tileId: String) {
Logger.d(TAG, "-- onTileLoadStart(layerId: $layerId, tileId: $tileId) --")
onRedisDataLoadRoute(mapOf("onTileLoadStart" to "layerId: $layerId, tileId: $tileId"))
}
override fun onTileLoadFail(layerId: String, tileId: String, error: String) {
Logger.d(TAG, "-- onTileLoadFail(layerId: $layerId, tileId: $tileId, error: $error) --")
onRedisDataLoadRoute(mapOf("onTileLoadFail" to "layerId: $layerId, tileId: $tileId, error: $error"))
}
override fun onTileLoadSuccess(layerId: String, tileId: String) {
Logger.d(TAG, "-- onTileLoadSuccess(layerId: $layerId, tileId: $tileId) --")
onRedisDataLoadRoute(mapOf("onTileLoadSuccess" to "layerId: $layerId, tileId: $tileId"))
}
override fun onTilesLoadStart(layerId: String, tileIds: List<String>) {
Logger.d(TAG, "-- onTilesLoadStart(layerId: $layerId, tileIds: ${tileIds.joinToString(",")}) --")
onRedisDataLoadRoute(mapOf("onTilesLoadStart" to "layerId: $layerId, tileIds: ${tileIds.joinToString(",")}"))
}
override fun onTilesLoadFail(layerId: String, tileIds: List<String>, error: String?) {
Logger.d(TAG, "-- onTilesLoadFail(layerId: $layerId, tileIds: ${tileIds.joinToString(",")}, error: $error) --")
onRedisDataLoadRoute(mapOf("onTilesLoadFail" to "layerId: $layerId, tileIds: ${tileIds.joinToString(",")}, error:$error"))
}
override fun onTilesLoadSuccess(layerId: String, tileIds: List<String>) {
Logger.d(TAG, "-- onTilesLoadSuccess(layerId: $layerId, tileIds: ${tileIds.joinToString(",")}) --")
onRedisDataLoadRoute(mapOf("onTilesLoadSuccess" to "layerId: $layerId, tileIds: ${tileIds.joinToString(",")}"))
}
}.also {
redisCallback.set(it) // 将此回调保存起来只为了在native层的引用不回收因为native层的引用是全局弱引用
})
// HDMapProvider.toggleSystrace(true) // 开启systrace, 此功能默认关闭,只要在开发阶段定位渲染问题时才打开。(前提需要在地图sdk在关键节点进行手动打点后再开启之后使用systrace工具进行抓取trace文件进行分析)
// HDMapProvider.toggleMapDataDebugInfo(true) // 打开地图调试信息的文字展示,此功能也默认关闭,只有在地图测试工具中使用
} }
@ChainLog(
linkChainLog = ChainConstant.CHAIN_TYPE_STATUS,
linkCode = ChainConstant.CHAIN_SOURCE_CLOUD,
nodeAliasCode = ChainConstant.CHAIN_CODE_REDIS_DATA_LOAD,
paramIndexes = [0]
)
private fun onRedisDataLoadRoute(extra: Map<String, Any>) {}
} }

View File

@@ -153,6 +153,26 @@ subprojects.each {
} }
} }
subprojects.each {
it.afterEvaluate { itx ->
if (itx.plugins.hasPlugin('com.android.library') || itx.plugins.hasPlugin('com.android.application')) {
def android = itx.extensions.findByName("android")
android.buildTypes {
configureEach { buildType ->
def matchingFallbacks = buildType.matchingFallbacks ?: []
def array = isReleaseBuild() ? ['release', 'debug'] : ['debug', 'release']
array.each { fallback ->
if (!matchingFallbacks.contains(fallback)) {
matchingFallbacks += fallback
}
}
buildType.matchingFallbacks = matchingFallbacks
}
}
}
}
}
boolean isAndroidTestBuild() { boolean isAndroidTestBuild() {
for (String s : gradle.startParameter.taskNames) { for (String s : gradle.startParameter.taskNames) {
if (s.contains("AndroidTest")) { if (s.contains("AndroidTest")) {
@@ -172,5 +192,5 @@ boolean isReleaseBuild() {
} }
boolean isJunkDetectEnable() { boolean isJunkDetectEnable() {
return !isReleaseBuild() return false
} }

View File

@@ -2,7 +2,7 @@
<!--android:keyHeight="122dp" <!--android:keyHeight="122dp"
android:keyWidth="237dp"--> android:keyWidth="237dp"-->
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" <Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:keyboard="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:keyHeight="122dp" android:keyHeight="122dp"
android:keyWidth="239dp" android:keyWidth="239dp"
android:horizontalGap="1dp" android:horizontalGap="1dp"
@@ -36,7 +36,7 @@
<Key <Key
android:codes="-4" android:codes="-4"
keyboard:keyBackground="@drawable/keyboard_blue" app:keyBackground="@drawable/keyboard_blue"
android:keyHeight="368dp" android:keyHeight="368dp"
android:keyLabel="确定"/> android:keyLabel="确定"/>
</Row> </Row>

View File

@@ -61,8 +61,7 @@ dependencies {
exclude group: 'com.zhidaoauto.machine', module: 'map' exclude group: 'com.zhidaoauto.machine', module: 'map'
} }
// implementation rootProject.ext.dependencies.mogocustommap implementation rootProject.ext.dependencies.mogocustommap
implementation project(':libraries:mapmodule')
implementation rootProject.ext.dependencies.amapnavi3dmap implementation rootProject.ext.dependencies.amapnavi3dmap
implementation rootProject.ext.dependencies.androidxroomruntime implementation rootProject.ext.dependencies.androidxroomruntime

View File

@@ -96,6 +96,7 @@ class ChainConstant {
const val CHAIN_CODE_MAIN_BLOCK = "CHAIN_CODE_MAIN_BLOCK" const val CHAIN_CODE_MAIN_BLOCK = "CHAIN_CODE_MAIN_BLOCK"
const val CHAIN_CODE_DISPATCH_RECEIVE = "CHAIN_CODE_DISPATCH_RECEIVE" const val CHAIN_CODE_DISPATCH_RECEIVE = "CHAIN_CODE_DISPATCH_RECEIVE"
const val CHAIN_CODE_DISPATCH_START = "CHAIN_CODE_DISPATCH_START" const val CHAIN_CODE_DISPATCH_START = "CHAIN_CODE_DISPATCH_START"
const val CHAIN_CODE_REDIS_DATA_LOAD = "CHAIN_CODE_REDIS_DATA_LOAD"
const val CHAIN_CODE_CLOUD_INIT = "CHAIN_CODE_CLOUD_INIT" const val CHAIN_CODE_CLOUD_INIT = "CHAIN_CODE_CLOUD_INIT"
const val CHAIN_CODE_CLOUD_PASSPORT_TOKEN = "CHAIN_CODE_CLOUD_PASSPORT_TOKEN" const val CHAIN_CODE_CLOUD_PASSPORT_TOKEN = "CHAIN_CODE_CLOUD_PASSPORT_TOKEN"

View File

@@ -81,7 +81,7 @@ MOGO_LOCATION_VERSION=1.4.7.42
MOGO_TELEMATIC_VERSION=1.4.7.42 MOGO_TELEMATIC_VERSION=1.4.7.42
######## MogoAiCloudSDK Version ######## ######## MogoAiCloudSDK Version ########
# 自研地图 # 自研地图
MAP_SDK_VERSION=3.4.1.2 MAP_SDK_VERSION=3.4.1.13_alpha_7
MAP_SDK_DATA_VERSION=1.0.0.9 MAP_SDK_DATA_VERSION=1.0.0.9
MAP_SDK_OPERATION_VERSION=1.1.4.1 MAP_SDK_OPERATION_VERSION=1.1.4.1
# websocket # websocket

View File

@@ -111,10 +111,10 @@ void setLeadLine(){
} }
void setSignalLine(){ void setSignalLine(){
if(signalLineObj==1 && signalLineStep>0){ if(signalLineObj==1 && signalLineStep>0){
_uv.x = (uv.x - 0.5)*signalScale + 0.5; //x方向缩放 _uv.x = uv.x;
_uv.y = uv.y; _uv.y = uv.y;
signalLineTexY = _uv.y; signalLineTexY = _uv.y;
_uv = _uv + vec2(0.0,1.0)*signalLineTime; _uv = _uv + vec2(0.0,1.0);
} }
} }
void setGuideLine(){ void setGuideLine(){

View File

@@ -1,4 +1,4 @@
package com.autonavi.nge.dm;//package com.autonavi.nge.dm; //package com.autonavi.nge.dm;
// //
//import android.os.RemoteException; //import android.os.RemoteException;
//import android.util.Log; //import android.util.Log;

View File

@@ -1,4 +1,4 @@
package com.autonavi.nge.guidance;//package com.autonavi.nge.guidance; //package com.autonavi.nge.guidance;
// //
//import android.util.Log; //import android.util.Log;
// //

View File

@@ -10,11 +10,88 @@ class HDMapProvider {
/**f:设置redis源。1,测试redis42。非1正式redis根据域名访问的。默认,非1 */ /**f:设置redis源。1,测试redis42。非1正式redis根据域名访问的。默认,非1 */
@JvmStatic external fun setDataRedisSource(source: Int) @JvmStatic external fun setDataRedisSource(source: Int)
/** 是否开启地图数据调试信息的展示*/
@JvmStatic external fun toggleMapDataDebugInfo(open: Boolean)
/** 是否开启Systrace*/
@JvmStatic external fun toggleSystrace(open: Boolean)
/**
* 设置Redis数据加载回调
*/
@JvmStatic external fun setRedisDataLoadCallback(callback: IRedisLoadCallback)
init { init {
System.loadLibrary("hdmap") System.loadLibrary("hdmap")
} }
} }
interface IRedisLoadCallback {
/**
* 登录开始
*/
fun onLoginStart(ip: String, port: Int, password: String, dbIndex: Int) { }
/**
* 登录失败
*/
fun onLoginFailed(error: String?) { }
/**
* 登录成功
*/
fun onLoginSuccess() { }
/**
* 登录成功之后,重新开始登录
* @param isCanRetry: true -> 可以再次重试; false-> 不可以再次重试
*/
fun onReLogin(isCanRetry: Boolean) { }
/**
* 请求 加载指定瓦片数据 开始
* @param layerId: redis中指哈希表中的键
* @param tileId: 要获取的指定瓦片ID的数据
*/
fun onTileLoadStart(layerId: String, tileId: String) { }
/**
* 请求加载瓦片数据成功
* @param layerId: redis中指哈希表中的键
* @param tileId: 要获取的指定瓦片ID的数据
*/
fun onTileLoadSuccess(layerId: String, tileId: String) { }
/**
* 请求加载瓦片数据失败
* @param layerId: redis中指哈希表中的键
* @param tileId: 要获取的指定瓦片ID的数据
*/
fun onTileLoadFail(layerId: String, tileId: String, error: String) { }
/**
* 请求同时加载多个瓦片数据开始
* @param layerId: redis中指哈希表中的键
* @param tileIds: 要获取的指定瓦片ID列表的集合
*/
fun onTilesLoadStart(layerId: String, tileIds: List<String>) { }
/**
* 同时加载多个瓦片数据成功
* @param layerId: redis中指哈希表中的键
* @param tileIds: 要获取的指定瓦片ID列表的集合
*/
fun onTilesLoadSuccess(layerId: String, tileIds: List<String>) { }
/**
* 同时加载多个瓦片数据失败
* @param layerId: redis中指哈希表中的键
* @param tileIds: 要获取的指定瓦片ID列表的集合
* @param error: 加载失败的异常信息
*/
fun onTilesLoadFail(layerId: String, tileIds: List<String>, error: String?) { }
}
fun getLaneCenterLine(tileId: Int, routeId: Int): ArrayList<HDMapBlock>? { fun getLaneCenterLine(tileId: Int, routeId: Int): ArrayList<HDMapBlock>? {
return if (mObj != 0L) { return if (mObj != 0L) {
getLaneCenterLineJni(mObj, tileId, routeId) getLaneCenterLineJni(mObj, tileId, routeId)

View File

@@ -27,7 +27,7 @@ interface IMarkerController {
/** /**
* 批量更新他车 * 批量更新他车
*/ */
fun updateBatchMarkerPositon(batchMarkerOptions: com.zhidaoauto.map.sdk.open.renders.marker.BatchMarkerOptions) fun updateBatchMarkerPositon(batchMarkerOptions: BatchMarkerOptions)
//根据车辆类型预添加车辆模型 //根据车辆类型预添加车辆模型
fun addPreVehicleModel(type:Int,modelRes:Int):String? fun addPreVehicleModel(type:Int,modelRes:Int):String?
//添加普通模型 //添加普通模型

View File

@@ -93,6 +93,9 @@ class RoadHelper private constructor() {
cacheHdDataProgressJob?.cancel() cacheHdDataProgressJob?.cancel()
cacheHdDataProgressJob = null cacheHdDataProgressJob = null
mHdDataDownloadListener?.clear()
mHdDataDownloadListener = null
cancelCacheHDData() cancelCacheHDData()
hdMapProvider.release() hdMapProvider.release()

View File

@@ -26,6 +26,8 @@ class MarkerSimpleData {
var color: String = "" var color: String = ""
//颜色设置类型 0 直接替换 1=由原色变为指定色 有方向 * 2=由指定色变为原色 有方向 * 3=由原色变为指定色 无方向 * 4=由指定色变为原色 无方向 //颜色设置类型 0 直接替换 1=由原色变为指定色 有方向 * 2=由指定色变为原色 有方向 * 3=由原色变为指定色 无方向 * 4=由指定色变为原色 无方向
var colorType: Int = 0 var colorType: Int = 0
// 变色角度
var colorAngle:Int = 0
//文本 //文本
var text: String = "" var text: String = ""
//状态 //状态

View File

@@ -341,16 +341,17 @@ open class MapAutoView : FrameLayout, LonLatPointListener, ITraffic,ILockLocatio
mEventController = MapEventController() mEventController = MapEventController()
} }
mMapView?.let { mMapView?.let { itx ->
if (CompileConfig.DEBUG) { if (CompileConfig.DEBUG) {
Log.i(TAG, "autoop-mapop-create--${mMapView}") Log.i(TAG, "autoop-mapop-create--${mMapView}")
} }
it.setEventController(mEventController) itx.setEventController(mEventController)
addView(it) addView(itx)
Log.d(TAG, "--- controller assign -->")
mMapController = mMapController =
MapController(context, it, this@MapAutoView, mEventController, mMapStyleParams) MapController(context, itx, this@MapAutoView, mEventController, mMapStyleParams)
locationClient?.takeIf { it.mMapController == null }?.also { it.mMapController = mMapController }
mMapController?.let { mapController -> mMapController?.let { mapController ->
mMarkerController = MarkerController(mapController) mMarkerController = MarkerController(mapController)
mapController.setMarkerController(mMarkerController) mapController.setMarkerController(mMarkerController)
@@ -358,8 +359,8 @@ open class MapAutoView : FrameLayout, LonLatPointListener, ITraffic,ILockLocatio
mLocationView = LocationHelper(context, mMarkerController, mMapController,mMapStyleParams) mLocationView = LocationHelper(context, mMarkerController, mMapController,mMapStyleParams)
mMapController?.setLocalView(mLocationView) mMapController?.setLocalView(mLocationView)
it.setMapController(mMapController) itx.setMapController(mMapController)
it.mITraffic = this@MapAutoView itx.mITraffic = this@MapAutoView
// init PanelManager // init PanelManager
mPanelManager = PanelManager(this@MapAutoView, context, mMapController) mPanelManager = PanelManager(this@MapAutoView, context, mMapController)
} }

View File

@@ -51,8 +51,7 @@ dependencies {
implementation rootProject.ext.dependencies.arouter implementation rootProject.ext.dependencies.arouter
kapt rootProject.ext.dependencies.aroutercompiler kapt rootProject.ext.dependencies.aroutercompiler
// 高精地图 // 高精地图
// implementation rootProject.ext.dependencies.mogocustommap implementation rootProject.ext.dependencies.mogocustommap
implementation project(':libraries:mapmodule')
// 高德地图 // 高德地图
api rootProject.ext.dependencies.amapnavi3dmap api rootProject.ext.dependencies.amapnavi3dmap

View File

@@ -44,7 +44,7 @@ include ':libraries:mogo-map'
include ':libraries:mogo-adas' include ':libraries:mogo-adas'
include ':libraries:mogo-adas-data' include ':libraries:mogo-adas-data'
include ':libraries:mogo-obu' include ':libraries:mogo-obu'
include ':libraries:mapmodule' //include ':libraries:mapmodule'
// 语音 // 语音
include ':tts:tts-base' include ':tts:tts-base'