菜单

配置多进程

该功能仅适用于低于1.3.0.0的版本, 1.3.0.0 以及以上版本默认支持多进程上报数据。

 

如果您的应用存在多个进程,而且您有在多个进程上报数据的需求,请在 SolarEngineConfig 中配置 supportMultiProcess 为 true 之后,按照本文档配置多进程。

在配置开启多进程之后,每一个进程都需要调用 SDK 的初始化。

第一步:

请在应用程序的 AndroidManifest.xml 文件中配置开启多进程的 provider:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <application android:label="@string/app_name">
        <provider android:authorities="${applicationId}.solar.engine.provider"
                  android:name="com.reyun.solar.engine.db.SolarEngineContentProvider"
                  android:multiprocess="true"
                  android:permission="${applicationId}.permission.SolarEngineContentProvider"
                  android:exported="false"/>
    </application>
</manifest>

其中,${applicationId} 占位符会在编译过程中自动替换为您的应用包名,此处不需要做任何的修改。

 

第二步:

请在应用程序的 AndroidManifest.xml 文件中配置多进程需要的权限:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <permission android:name="${applicationId}.permission.SolarEngineContentProvider"
                android:protectionLevel="signature"/>
</manifest>

其中,${applicationId} 占位符会在编译过程中自动替换为您的应用包名,此处不需要做任何的修改。

该权限属于自定义权限,不会存在任何隐私风险。

 

第三步:验证配置是否正确。

在完成上述配置之后,启动应用程序。 logcat 中过滤 SolarEngineSDK.Global,如果看到了如下 log,则说明配置成功:

SolarEngineSDK init success by appKey: {your app key} sessionId: {current session id} package: {your package name} isMainProcess: {main process} isSupportMultiProcess: true isDebug:{debug state} isContentProviderAvailable: true

其中,isSupportMultiProcess 为 true 说明 SolarEngineConfig 配置了 supportMultiProcess,否则请检查 supportMultiProcess。isContentProviderAvailable 为 true 说明 AndroidManifest.xml 中配置正确。

 

第四步:配置完成,请在其他的进程中上报事件。

最近修改: 2025-08-13Powered by