# Android Player 커맨드 라인 인자 지정

> Specify startup command-line arguments to pass to Unity.

커스텀 Unity 활동을 확장하는 사용 사례는 Android 플레이어를 실행할 때 커맨드 라인 인자를 전달하는 경우입니다. 사용 가능한 커맨드 라인 인자에 대한 자세한 내용은 [커맨드 라인 인자](/engine/6000.0/manual/unity-editor/editor-features/command-line-arguments.md)를 참조하십시오.

커스텀 활동에서 시작 커맨드 라인 인자를 지정하려면 다음 단계를 따르십시오.

1. [커스텀 활동을 생성](/engine/6000.0/manual/platform-specific/android/developing/application-entries/activity/unity-player-activity/custom-activity.md)하고 애플리케이션 엔트리 포인트로 설정합니다.
2. 커스텀 활동에서 `String UnityPlayerActivity.updateUnityCommandLineArguments(String cmdLine)` 메서드를 오버라이드합니다.
3. 메서드에서 `cmdLine` 인자를 자체 시작 인자와 연결한 후 결과를 반환합니다. **중요**: `cmdLine` 인자는 빈 문자열이거나 null일 수 있으므로 코드에서 이러한 값을 처리하는지 확인하십시오.

다음 예시는 현재 기기를 기반으로 그래픽스 API를 선택하도록 시작 인자를 지정하는 방법을 보여 줍니다.

```java
package com.company.product;
import com.unity3d.player.UnityPlayerActivity;
import android.os.Bundle;
import android.os.Build;

public class OverrideExample extends UnityPlayerActivity {
    private boolean preferVulkan() {
        // Use Vulkan on Google Pixel devices
        if (Build.MANUFACTURER.equals("Google") && Build.MODEL.startsWith("Pixel"))
            return true;
        else
            return false;
    }

    private String appendCommandLineArgument(String cmdLine, String arg) {
        if (arg == null || arg.isEmpty())
            return cmdLine;
        else if (cmdLine == null || cmdLine.isEmpty())
            return arg;
        else
            return cmdLine + " " + arg; 
    } 

    @Override protected String updateUnityCommandLineArguments(String cmdLine)
    {
        if (preferVulkan())
            return appendCommandLineArgument(cmdLine, "-force-vulkan");
        else
            return cmdLine; // let Unity pick the Graphics API based on PlayerSettings
    }

    @Override protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
    }
}
```

### 커맨드 라인 인자를 지정하는 또 다른 방법##additional-ways-to-specify-command-line-arguments

커스텀 활동 외에 다음과 같은 방법으로 커맨드 라인 인자를 지정할 수 있습니다.

* **Android Studio**: Android Studio에서 프로젝트를 열면 [Run/Debug Configurations 다이얼로그](https://developer.android.com/studio/run/rundebugconfig#opening)의 Launch Flags를 통해 시작 커맨드 라인 인자를 Unity에 전달할 수 있습니다.
* **adb(Android Debug Bridge)**: 다음 코드를 사용하여 adb를 통해 Android 애플리케이션을 실행하여 커맨드 라인 인자를 전달할 수 있습니다.

```
adb shell am start -n "<package_name>/<activity_name>" -e unity <command_line_arguments>
```

다음 예시는 애플리케이션에 `-systemallocator` 커맨드 라인 인자를 전달하는 방법을 보여 줍니다.

```
adb shell am start -n "com.Company.MyGame/com.unity3d.player.UnityPlayerActivity" -e unity -systemallocator
```
