Android 개발 환경 준비하기

개발 환경 구성

IDE 준비

안드로이드를 개발하기 위한 기본적인 준비를 합니다.

안드로이드 플렛폼을 만든 구글에서 권장하는 안드로이드 플렛폼 개발의 표준 도구인 안드로이드 스튜디오를 사용합니다.

PlayRTC Android SDK 준비하기

아래의 링크를 통해 다운로드 받습니다.

다운로드 받고 압축을 풀면 3개의 파일이 나오는데, 원하는 프로젝트에 다음과 같이 배치 하면 됩니다.

프로젝트 준비하기

아래와 같이 SDK 파일을 배치 합니다.

  • PROJECT_ROOT/app/libs/sktplayrtc-client.x.x.x.jar
  • PROJECT_ROOT/app/libs/libjingle_peerconnection.jar
  • PROJECT_ROOT/app/src/main/jniLibs/armeabi-v7a/ibgingle_peerconnection_so.so

그리고 그래들 빌드 파일에 라이브러리를 지정하여 빌드시 삽입 하기 위해 PROJECT_ROOT/app/build.gradle파일이 아래와 같은지 확인합니다.

android {
  compileSdkVersion 23               // Lastest Stable
  buildToolsVersion "23.0.1"         // Lastest Stable
  defaultConfig {
      minSdkVersion 15
      targetSdkVersion 23            // Lastest Stable
  }

dependencies {
    // 개별파일 지정
    compile files('libs/libjingle_peerconnection.jar')
    compile files('libs/sktplayrtc-client.2.0.0.jar')

    // 혹은 디렉토리 전체를 지정
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

Android 6.0 Application Permission

Android 6.0 이상  타겟 빌드 시 다음과 같이 Permission을 획득하는 코드를 구현합니다.

 

public static final String[] MANDATORY_PERMISSIONS = {
        "android.permission.INTERNET",
        "android.permission.CAMERA",
        "android.permission.RECORD_AUDIO",
        "android.permission.MODIFY_AUDIO_SETTINGS",
        "android.permission.ACCESS_NETWORK_STATE",
        "android.permission.CHANGE_WIFI_STATE",
        "android.permission.ACCESS_WIFI_STATE",
        "android.permission.READ_PHONE_STATE",
        "android.permission.BLUETOOTH",
        "android.permission.BLUETOOTH_ADMIN",
        "android.permission.WRITE_EXTERNAL_STORAGE"
};


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

    // Application permission 23
    if (android.os.Build.VERSION.SDK_INT >= 23) {

        checkPermission(MANDATORY_PERMISSIONS);
    }
,,,,


}

// Application permission 23
private final int MY_PERMISSION_REQUEST_STORAGE = 100;
@SuppressLint("NewApi")
private void checkPermission(String[] permissions) {

    requestPermissions(permissions, MY_PERMISSION_REQUEST_STORAGE);
}
// Application permission 23
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    switch (requestCode) {
        case MY_PERMISSION_REQUEST_STORAGE:
            int cnt = permissions.length;
            for(int i = 0; i < cnt; i++ ) {

                if (grantResults[i] == PackageManager.PERMISSION_GRANTED ) {

                    Log.i(LOG_TAG, "Permission[" + permissions[i] + "] = PERMISSION_GRANTED");

                } else {

                    Log.i(LOG_TAG, "permission[" + permissions[i] + "] always deny");
                }
            }
            break;
    }
}

예제 앱 다운로드

이제 예제앱을 다운로드 받고 준비 해 봅시다.

예제앱은 아래를 통해 압축파일 형태로 다운로드 받을 수 있습니다.

혹은 PlayRTC GitHub 저장소에서 소스코드 관리 방식인 git을 통해 클론받을 수 있습니다.

$ git clone https://github.com/playrtc/PlayRTC-Android-Tutorial-SimpleChat

이로써 모든 튜토리얼을 개발하기 위한 모든 환경이 갖추어졌습니다. 다음장을 통해 본격적으로 영상/음성 웹앱을 만들어 보도록 하겠습니다.

 

Play RTC

서비스 체험

Play RTC build PlaygrOund

나만의 플레이그라운드를 만들어 친구를 초대해보세요 !

www.playrtc.com/

번거로운 가입이나 설치 없이ID만 만들어서 영상통화나 파일 공유, 채팅 서비스를 무료로 즐겨보세요.

 

Play RTC

서비스 체험

개설한 Playground 주소를 복하해서 친구에게 보내조세요. 친구가 Playground에 접속하면 이곳에 친구의 영상과 음성이 나타납니다. Waiting..

Photo

X
이미지 미리보기
이미지
 

서비스 체험

 

서비스 체험

서비스 체험은 크롬과 파이어폭스 브라우저에 최적화되어 있습니다.
크롬 또는 파이어폭스 브라우저를 설치 후 다시 이용해주세요.