Gradle을 사용하여 Android Studio 프로젝트 설정

시작하기 전에

Android Studio 및 Android SDK를 적절하게 설정했는지 확인하십시오. 시스템 설정 방법에 대한 자세한 정보는 Android Studio 개요를 참조하십시오.
참고: MobileFirst SDK는 Android 버전 Ice Cream Sandwich(API 레벨 14) 이상과 호환됩니다.

이 태스크 정보

MobileFirst SDK가 포함된 Android 애플리케이션에 대해 문서화되고 지원되는 개발 환경이 이제 Android Studio입니다. Android Studio 및 MobileFirst SDK를 사용하여 새 Android 애플리케이션을 개발하려면 다음의 단계를 수행하십시오.

프로시저

  1. 파일 > 새로 작성 > 새 프로젝트 마법사를 사용하여 Android Studio에서 Android 애플리케이션을 작성하십시오(아직 없는 경우). 프로젝트가 오류 없이 컴파일되어야 합니다.
    참고: 두 개 버전의 build.gradle 파일이 작성되는데, 하나는 기본 프로젝트 폴더에 있고 다른 하나는 \apps 폴더에 있습니다.
  2. [project]\build.gradle 파일에 allprojects{} 클로저의 저장소 목록에 있는 jcenter()가 포함되어 있는지 확인하십시오.
    allprojects {
      repositories {
        jcenter()
        // other repositories
      }
    }
    다음 예제는 Android Studio 마법사에서 작성한 샘플 [project]\build.gradle 파일을 보여줍니다.
    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    
    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.3.0'
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    
    allprojects {
        repositories {
            jcenter()
        }
    }
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    파일의 실제 컨텐츠는 다른 저장소 또는 종속 항목의 추가 여부에 따라 달라질 수 있습니다.
  3. app\build.gradle 파일의 android{} 클로저 안에 다음 패키징 옵션을 추가하십시오.
    packagingOptions {
      pickFirst 'META-INF/ASL2.0'
      pickFirst 'META-INF/LICENSE'
      pickFirst 'META-INF/NOTICE'
    }
  4. 로컬 사본에서 aar 파일을 설치하는지 또는 원격으로 파일에 액세스하는지 여부에 따라 다음 행을 app\build.gradle 파일에 추가하십시오.
    1. 파일의 원격 사본에서 설치하는 경우, 다음 행을 종속성 클로저에 추가하십시오.
      compile 'com.ibm.mobile.foundation:ibmmobilefirstplatformfoundation:8.0.+'  
      참고: 이 예에서는 8.0의 최신 버전을 가져옵니다. 8.0.2016021411과 같은 특정 버전을 가져오려는 경우, 사용 중인 MobileFirst 버전 번호(주 번호, 부 번호, 패치 번호 포함)로 대체하십시오. 패치 번호는 YYYYMMDDHH 형식이어야 합니다. 예를 들어, 다음과 같습니다.
      compile 'com.ibm.mobile.foundation:ibmmobilefirstplatformfoundation:8.0.2016021411' 
      원격 파일에서 SDK를 추가하는 데 필요한 app/build.gradle 파일의 예는 다음과 같습니다.
      applyplugin: 'com.android.application'
      
      repositories {
          jcenter()
      }
      android {
          compileSdkVersion 23
          buildToolsVersion "23.0.2"
      
          defaultConfig {
              applicationId "com.example.myname.myapplicationandroidgradle"
              minSdkVersion 23
              targetSdkVersion 23
              versionCode 1
              versionName "1.0"
          }
          buildTypes {
              release {
                  minifyEnabled false
                  proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
              }
          }
          packagingOptions {
              pickFirst 'META-INF/ASL2.0'
              pickFirst 'META-INF/LICENSE'
              pickFirst 'META-INF/NOTICE'
          }
      }
      dependencies {
      compile 'com.ibm.mobile.foundation:ibmmobilefirstplatformfoundation:8.0.+'  
          }
      }
    2. buildTypes 격납장치에서 proguardFiles 행을 제거하고 파일을 저장하십시오. Proguard는 IBM MobileFirst™ Platform Foundation V8.0.0에서 지원되지 않습니다. ProGuard로 Android 코드 난독화를 참조하십시오.
    3. 로컬 파일에서 설치하는 경우:

      다음을 종속성 클로저에 추가하십시오.

      compile(name:'ibmmobilefirstplatformfoundation', ext:'aar')

      repositories 격납장치를 추가하십시오.

      repositories {
          flatDir {
              dirs 'libs'
          }
      }
      참고: 필요한 SDK 파일을 구하려면 MobileFirst Operations Console에서 MobileFirst SDK 획득의 내용을 참조하십시오. 관련 aar 파일을 app\libs 폴더로 복사하십시오.
      로컬 파일에서 SDK를 추가하는 데 필요한 app\build.gradle 파일의 예는 다음과 같습니다.
      apply plugin: 'com.android.application'
      
      repositories {
          flatDir {
              dirs 'libs'
          }
      }
      android {
          compileSdkVersion 23
          buildToolsVersion "23.0.2"
      
          defaultConfig {
              applicationId "com.example.myname.myapplicationandroidgradle"
              minSdkVersion 23
              targetSdkVersion 23
              versionCode 1
              versionName "1.0"
          }
          buildTypes {
              release {
                  minifyEnabled false
                  proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
              }
          }
      
          packagingOptions {
              pickFirst 'META-INF/ASL2.0'
              pickFirst 'META-INF/LICENSE'
              pickFirst 'META-INF/NOTICE'
          }
      }
      dependencies {
          compile(name:'ibmmobilefirstplatformfoundation', ext:'aar')
      }
  5. 가져온 SDK에는 Javadoc이 포함되어 있지 않습니다. Javadoc을 프로젝트에 추가하려면 Android Studio Gradle 프로젝트에 Javadoc 등록의 내용을 참조하십시오.
  6. 기능 추가에 대한 정보는 Gradle을 사용하여 선택적 MobileFirst 컴포넌트 추가의 내용을 참조하십시오.
  7. Android용 원시 앱의 AndroidManifest.xml 파일에 다음 행을 추가하십시오.
    • <activity android:name="com.worklight.wlclient.ui.UIActivity"/>

      이 행은 사용자 애플리케이션에서 실행할 지정된 MobileFirst UI 활동에 대한 기능을 추가합니다.

      참고: 이 프로세스를 자동화하려면 다음 태스크를 app\build.gradle 파일에 추가합니다.
      task(addUIActivity) << {
      def manifestFile = file("src/main/AndroidManifest.xml")
      def manifestText = manifestFile.getText()
      if(!manifestText.contains("com.worklight.wlclient.ui.UIActivity")) {     
           def pattern =  Pattern.compile("\\</application\\>")     
           def matcher =  pattern.matcher(manifestText)      
           def manifestContent = matcher.replaceFirst("<activity android:name=\"com.worklight.wlclient.ui.UIActivity\"/>\n</application>")    
            manifestFile.write(manifestContent)
        }
      }
      preBuild.dependsOn addUIActivity
    • <uses-permission android:name="android.permission.INTERNET"/>

      이 행은 사용자 애플리케이션에 인터넷 액세스 권한을 추가합니다.

  8. 애플리케이션을 다시 빌드하십시오.

결과

이제 IBM MobileFirst Platform Foundation SDK를 사용한 고유 Android 애플리케이션 개발을 시작할 수 있습니다.

다음에 수행할 작업

서버 자원에 액세스하려면 먼저 앱을 등록해야 합니다. MobileFirst Platform CLI에서 Android 애플리케이션 등록의 내용을 참조하십시오. mfpclient.plist 파일에 대한 자세한 정보는 Android 클라이언트 특성 파일의 내용을 참조하십시오. 앱이 등록되고 나면 서버 연결을 테스트하기 위한 몇 가지 초기 코드를 작성할 수 있습니다(서버 액세스를 위한 몇 가지 초기 코드 참조).