Firefly开源社区

打印 上一主题 下一主题

[Android] 使用Android11的环境,添加GPS模块。

25

积分

0

威望

0

贡献

技术小白

积分
25

使用Android11的环境,添加GPS模块。

发表于 2022-2-8 15:28:36      浏览:5220 | 回复:5        打印      只看该作者   [复制链接] 楼主
RK3568开发板使用默认固件0812版本,GPSiTset apk。使用贵公司发布的固件测试GPS模块,有报错。另外自己添加gps.default.so也有报错。
下面列出了两个报错,望高手指点,万分感谢。

(1)使用2021.8.12 发布的固件版本,gps有报错,如下
02-08 07:06:11.948   158   158 I hwservicemanager: getTransport: Cannot find entry android.hardware.gnss@2.1::IGnss/default in either framework or device manifest.
02-08 07:06:11.950   158   158 I hwservicemanager: getTransport: Cannot find entry android.hardware.gnss@2.0::IGnss/default in either framework or device manifest.
02-08 07:06:11.953   158   158 I hwservicemanager: getTransport: Cannot find entry android.hardware.gnss@1.1::IGnss/default in either framework or device manifest.
02-08 07:06:11.981   273   273 E GnssHAL_GnssInterface: getExtensionXtra: Gnss interface is unavailable
02-08 07:06:11.982   273   273 E GnssHAL_GnssInterface: getExtensionAGnssRil: Gnss interface is unavailable
02-08 07:06:11.982   273   273 E GnssHAL_GnssInterface: getExtensionAGnss: Gnss interface is unavailable
02-08 07:06:11.982   273   273 E GnssHAL_GnssInterface: getExtensionGnssNavigationMessage: Gnss interface is unavailable
02-08 07:06:11.982   273   273 E GnssHAL_GnssInterface: getExtensionGnssMeasurement: Gnss interface is unavailable
02-08 07:06:11.982   273   273 E GnssHAL_GnssInterface: getExtensionGnssDebug: Gnss interface is unavailable
02-08 07:06:11.982   273   273 E GnssHAL_GnssInterface: getExtensionGnssNi: Gnss interface is unavailable
02-08 07:06:11.982   273   273 E GnssHAL_GnssInterface: getExtensionGnssConfiguration: Gnss interface is unavailable
02-08 07:06:11.982   273   273 E GnssHAL_GnssInterface: getExtensionGnssGeofencing: Gnss interface is unavailable
02-08 07:06:11.983   273   273 E GnssHAL_GnssInterface: getExtensionGnssBatching: Gnss interface is unavailable
02-08 07:06:11.983   273   273 E GnssHAL_GnssInterface: setCallback: Gnss interface is unavailable
02-08 07:06:11.993   273   273 E GnssHAL_GnssInterface: setCallback: Gnss interface is unavailable
02-08 07:06:11.997   273   273 E GnssHAL_GnssInterface: setCallback: Gnss interface is unavailable
02-08 07:06:12.607   273   273 E GnssHAL_GnssInterface: setCallback: Gnss interface is unavailable

(2)新增gps.default.so文件。报错如下:
02-08 06:38:55.392   331   331 F DEBUG   :       #02 pc 000000000001405c  /vendor/lib64/hw/android.hardware.gnss@1.0-impl.so (HIDL_FETCH_IGnss+44) (BuildId: 0a86f6c383349d66bee638c
268320615)
02-08 06:38:59.895   468   468 F DEBUG   :       #02 pc 000000000001405c  /vendor/lib64/hw/android.hardware.gnss@1.0-impl.so (HIDL_FETCH_IGnss+44) (BuildId: 0a86f6c383349d66bee638c
268320615)
02-08 06:39:04.925   546   546 F DEBUG   :       #02 pc 000000000001405c  /vendor/lib64/hw/android.hardware.gnss@1.0-impl.so (HIDL_FETCH_IGnss+44) (BuildId: 0a86f6c383349d66bee638c
268320615)
02-08 06:39:06.469   157   157 I hwservicemanager: getTransport: Cannot find entry android.hardware.gnss@2.1::IGnss/default in either framework or device manifest.
02-08 06:39:06.470   157   157 I hwservicemanager: getTransport: Cannot find entry android.hardware.gnss@2.0::IGnss/default in either framework or device manifest.
02-08 06:39:06.472   157   157 I hwservicemanager: getTransport: Cannot find entry android.hardware.gnss@1.1::IGnss/default in either framework or device manifest.
02-08 06:39:06.474   157   157 I hwservicemanager: Since android.hardware.gnss@1.0::IGnss/default is not registered, trying to start it as a lazy HAL.
02-08 06:39:06.475   157   157 I hwservicemanager: Since android.hardware.gnss@1.0::IGnss/default is not registered, trying to start it as a lazy HAL.
02-08 06:39:06.475   447   447 I HidlServiceManagement: getService: Trying again for android.hardware.gnss@1.0::IGnss/default...
回复

使用道具 举报

760

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
760
发表于 2022-2-9 09:16:59        只看该作者  沙发
1.推荐更新到最新版的固件 https://www.t-firefly.com/doc/download/103.html
2.新增gps.default.so 位置是否正确,自己的gps.default.so 放到/vendor/lib/hw/和/vendor/lib64/hw/
回复

使用道具 举报

25

积分

0

威望

0

贡献

技术小白

积分
25
发表于 2022-2-15 16:55:33        只看该作者  板凳
问题已经解决:
1. firefly 已经实现 GNSS1.0
2. 使用自己开发的gps.default.so文件,每个函数都要实现,不能为空。否则crash
回复

使用道具 举报

4

积分

0

威望

0

贡献

吃瓜的群众

积分
4
发表于 2022-4-27 20:11:43        只看该作者  地板
luwy 发表于 2022-2-9 09:16
1.推荐更新到最新版的固件 https://www.t-firefly.com/doc/download/103.html
2.新增gps.default.so 位置 ...

请问是怎么添加自己的gsp.default.so的呢,新手不太懂这些,我现在编译出来一个gps.90.so,位置也在vendor目录下的对应位置,开机的时候没有进入这个判断, private void loadProvidersLocked() {
        // create a passive location provider, which is always enabled
        PassiveProvider passiveProvider = new PassiveProvider(this);
        addProviderLocked(passiveProvider);
        mEnabledProviders.add(passiveProvider.getName());
        mPassiveProvider = passiveProvider;
        Log.e(TAG, "in locationMS GnssLocationProvider.isSupported()=  " +GnssLocationProvider.isSupported());
        if (GnssLocationProvider.isSupported()) {
            // Create a gps location provider
            Log.e(TAG, "in location MS  loadProvidersLocked add GPS Provider");
            GnssLocationProvider gnssProvider = new GnssLocationProvider(mContext, this,
                    mLocationHandler.getLooper());
            mGnssSystemInfoProvider = gnssProvider.getGnssSystemInfoProvider();
            mGnssBatchingProvider = gnssProvider.getGnssBatchingProvider();
            mGnssMetricsProvider = gnssProvider.getGnssMetricsProvider();
            mGnssStatusProvider = gnssProvider.getGnssStatusProvider();
            mNetInitiatedListener = gnssProvider.getNetInitiatedListener();
            addProviderLocked(gnssProvider);
            mRealProviders.put(LocationManager.GPS_PROVIDER, gnssProvider);
            mGnssMeasurementsProvider = gnssProvider.getGnssMeasurementsProvider();
            mGnssNavigationMessageProvider = gnssProvider.getGnssNavigationMessageProvider();
            mGpsGeofenceProxy = gnssProvider.getGpsGeofenceProxy();
        },开机后无法使用GPS 测试没有provider
回复

使用道具 举报

760

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
760
发表于 2022-4-29 16:29:19        只看该作者  5#
回复

使用道具 举报

306

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
306
发表于 2022-5-28 17:55:46        只看该作者  6#
本帖最后由 bzhao 于 2022-5-28 18:00 编辑

楼主问题应该是这样 ,  缺少hidl gnss的说明, 就像在Manifest.xml没有说明的类是不能被注册进去的,
device/rockchip/rk3399/manifest.xml:
it should have the section like:

    <hal format="hidl">
        <name>android.hardware.gnss</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IGnss</name>
            <instance>default</instance>
        </interface>
    </hal>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表