安卓应用可能拥有一个或多个进程。要在主进程之外运行服务或活动,请为您的活动或服务指定进程名称。为此,请在 AndroidManifest.xml
文件中的 activity
或 service
节点添加 android:process
属性。
<activity android:name=".YourActivity" android:process=":YourProcessName"></activity>
<service android:name=".YourService" android:process=":YourProcessName"></service>
定义进程名称后,您就可以强制活动或服务在主进程之外的进程中运行。
在默认状态下,您的主进程名称与应用包名称相同。例如,如果您的应用包名为 com.example.myapp
,那么主进程的名称也应同样是 com.example.myapp
。上述示例在主进程下名为 com.example.myapp:YourProcessName
的进程中运行。
Adjust SDK 当前不支持应用中一个进程以上的监测。如果您的应用采用多进程,那么可以在 AdjustConfig
对象中设置主进程名称。
val appToken = "{YourAppToken}"val environment = AdjustConfig.ENVIRONMENT_SANDBOX
val config = AdjustConfig(this, appToken, environment)config.setProcessName("com.example.myapp")
Adjust.initSdk(config)
要变更主进程名称,请在 AndroidManifest.xml
文件中修改 application
节点的 android:process
属性。
<application android:name=".YourApp" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" android:process=":YourMainProcessName"></application>
然后在您的 AdjustConfig
对象中设置进程名称。
val appToken = "{YourAppToken}"val environment = AdjustConfig.ENVIRONMENT_SANDBOX
val config = AdjustConfig(this, appToken, environment)config.setProcessName("com.example.myapp:YourMainProcessName")
Adjust.initSdk(config)
这样,Adjust SDK 就能获知主进程名称。SDK 只会在 主 进程中初始化。如果您尝试在其他进程中使用 SDK,就会看到如下日志输出:
05-06 17:15:06.885 8743-8743/com.example.myapp:YourProcessName I/Adjust﹕ Skipping initialization in background process (com.example.myapp:YourProcessName)