安卓应用可能拥有一个或多个进程。要在主进程之外运行服务或活动,请为您的活动或服务指定进程名称。为此,请在 AndroidManifest.xml
文件中的 activity
或 service
节点添加 android:process
属性。
< activity android:name = ".YourActivity" android:process = ":YourProcessName" >
< service android:name = ".YourService" android:process = ":YourProcessName" >
定义进程名称后,您就可以强制活动或服务在主进程之外的进程中运行。
在默认状态下,您的主进程名称与应用包名称相同。例如,如果您的应用包名为 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" )
String appToken = "{YourAppToken}" ;
String environment = AdjustConfig.ENVIRONMENT_SANDBOX;
AdjustConfig config = new AdjustConfig ( this , appToken, environment);
config. setProcessName ( "com.example.myapp" );
let appToken = "{YourAppToken}" ;
let environment = AdjustConfig.EnvironmentSandbox;
let adjustConfig = new AdjustConfig (appToken, environment);
adjustConfig. setProcessName ( "com.example.myapp" );
Adjust. onCreate (adjustConfig);
要变更主进程名称,请在 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" >
然后在您的 AdjustConfig
对象中设置进程名称。
val appToken = "{YourAppToken}"
val environment = AdjustConfig.ENVIRONMENT_SANDBOX
val config = AdjustConfig ( this , appToken, environment)
config. setProcessName ( "com.example.myapp:YourMainProcessName" )
String appToken = "{YourAppToken}" ;
String environment = AdjustConfig.ENVIRONMENT_SANDBOX;
AdjustConfig config = new AdjustConfig ( this , appToken, environment);
config. setProcessName ( "com.example.myapp:YourMainProcessName" );
let appToken = "{YourAppToken}" ;
let environment = AdjustConfig.EnvironmentSandbox;
let adjustConfig = new AdjustConfig (appToken, environment);
adjustConfig. setProcessName ( "com.example.myapp:YourMainProcessName" );
Adjust. onCreate (adjustConfig);
这样,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)