Gradle을 사용하여 Android Studio 프로젝트 설정
시작하기 전에
참고: MobileFirst SDK는
Android 버전 Ice Cream Sandwich(API 레벨 14) 이상과 호환됩니다.
이 태스크 정보
MobileFirst SDK가 포함된 Android 애플리케이션에 대해 문서화되고 지원되는 개발 환경이 이제 Android Studio입니다. Android Studio 및 MobileFirst SDK를 사용하여 새 Android 애플리케이션을 개발하려면 다음의 단계를 수행하십시오.
프로시저
- 파일 > 새로 작성 > 새 프로젝트 마법사를 사용하여
Android Studio에서 Android 애플리케이션을 작성하십시오(아직 없는 경우).
프로젝트가 오류 없이
컴파일되어야 합니다.
참고: 두 개 버전의 build.gradle 파일이 작성되는데, 하나는 기본 프로젝트 폴더에 있고 다른 하나는 \apps 폴더에 있습니다.
- [project]\build.gradle 파일에
allprojects{} 클로저의 저장소 목록에 있는
jcenter()가 포함되어 있는지 확인하십시오.
다음 예제는 Android Studio 마법사에서 작성한 샘플 [project]\build.gradle 파일을 보여줍니다.allprojects { repositories { jcenter() // other repositories } }
파일의 실제 컨텐츠는 다른 저장소 또는 종속 항목의 추가 여부에 따라 달라질 수 있습니다.// 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 } - app\build.gradle 파일의 android{}
클로저 안에 다음 패키징 옵션을 추가하십시오.
packagingOptions { pickFirst 'META-INF/ASL2.0' pickFirst 'META-INF/LICENSE' pickFirst 'META-INF/NOTICE' } - 로컬 사본에서 aar 파일을 설치하는지 또는 원격으로 파일에 액세스하는지
여부에 따라 다음 행을 app\build.gradle 파일에
추가하십시오.
- 파일의 원격 사본에서 설치하는 경우, 다음 행을 종속성 클로저에
추가하십시오.
compile 'com.ibm.mobile.foundation:ibmmobilefirstplatformfoundation:8.0.+'참고: 이 예에서는 8.0의 최신 버전을 가져옵니다. 8.0.2016021411과 같은 특정 버전을 가져오려는 경우, 사용 중인 MobileFirst 버전 번호(주 번호, 부 번호, 패치 번호 포함)로 대체하십시오. 패치 번호는 YYYYMMDDHH 형식이어야 합니다. 예를 들어, 다음과 같습니다.원격 파일에서 SDK를 추가하는 데 필요한 app/build.gradle 파일의 예는 다음과 같습니다.compile 'com.ibm.mobile.foundation:ibmmobilefirstplatformfoundation:8.0.2016021411'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.+' } } - buildTypes 격납장치에서 proguardFiles 행을 제거하고 파일을 저장하십시오. Proguard는 IBM MobileFirst™ Platform Foundation V8.0.0에서 지원되지 않습니다. ProGuard로 Android 코드 난독화를 참조하십시오.
- 로컬 파일에서 설치하는 경우:
다음을 종속성 클로저에 추가하십시오.
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') }
- 파일의 원격 사본에서 설치하는 경우, 다음 행을 종속성 클로저에
추가하십시오.
- 가져온 SDK에는 Javadoc이 포함되어 있지 않습니다. Javadoc을 프로젝트에 추가하려면 Android Studio Gradle 프로젝트에 Javadoc 등록의 내용을 참조하십시오.
- 기능 추가에 대한 정보는 Gradle을 사용하여 선택적 MobileFirst 컴포넌트 추가의 내용을 참조하십시오.
- 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"/>
이 행은 사용자 애플리케이션에 인터넷 액세스 권한을 추가합니다.
- <activity android:name="com.worklight.wlclient.ui.UIActivity"/>
- 애플리케이션을 다시 빌드하십시오.
결과
다음에 수행할 작업
상위 주제: 환경 설정 방법