Androidアプリは、1つ以上のプロセスで構成できます。メインのプロセス以外のプロセスでサービスやアクティビティを実行するには、アクティビティやサービスにプロセス名を追加する必要があります。これを行うには、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は、1つのアプリで複数のプロセスの計測をサポートしていません。アプリがマルチプロセスを使用している場合、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"></application>
次に、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)