2015년 7월 23일 목요일

Eclipse Project -> Android Studio Migration

이클립스로 개발했던 프로젝트를 Android Studio 로 migration 하면서 알게된 Tip 정리.
module 의 build.gradle 에 추가.

1. dependency 설정

dependencies {
    compile files('libsFolderName/name.jar')
    //compile fileTree(dir: 'libs', include: ['*.jar'])
}




2. android.jar 보다 먼저 참조시키기

Xbootclasspath 설정

-Xbootclasspath/p:"Module Name"/"jar path"

gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
        options.compilerArgs.add('-Xbootclasspath/p:app/libs/xxx.jar')
    }
}
cf> Xbootclasspath 에 대한 상세 설명은 아래 링크 참조
-Xbootclasspath/p:path
디렉토리, JAR 어카이브(archive), 및 ZIP 어카이브(archive)의 패스를 세미콜론으로 단락지어 지정.
패스는 디폴트의 bootstrap 클래스 패스전에 추가됨.
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html
http://java.ihoney.pe.kr/27

3. 외부 class 파일이나 so 추가시 jar 로 변환(?) 후 참조하기

(참조 : stackoverflow.com)
task nativeLibsToJar(type: Zip, description: 'create a jar archive of the native libs') {
    destinationDir file("libs") // jar 로 압축된 파일이 저장될 폴더 위치
    baseName 'name'  // jar 로 압축할 파일 이름 (위 dependencies 에서 사용될 name.jar)
    extension 'jar'  // 확장자 이름
    from fileTree(dir: 'ExtClass', include: '**/*.class')  //가져올 원본 class or so 파일
    //into 'lib/'  // jar로 압축하면서 만들 추가 폴더 이름. android class 파일들은 지정안하는게 나음.
}

tasks.withType(JavaCompile) {
    compileTask -> compileTask.dependsOn(nativeLibsToJar)
}






4. 빌드시 제외시키고자 할 경우

android {
    ... ...
    sourceSets {
        main {
            java {
                exclude '**/name.java' 
            }
        }
    }
}



5. 빌드후 apk 이름 변경시키기

defaultConfig {
    project.ext.set("archivesBaseName", "name");
}

6. 서명키

프로젝트 최상위 경로에 gradle.properties 파일 생성하여 아래 항목 작성
keystore=jks path
keystore_pass=xxx
key_alias=xxx
key_pass=xxx

build.gradle 에서 사용
signingConfigs {
    releaseWithProps {
        storeFile file(keystore)
        storePassword keystore_pass
        keyAlias key_alias
        keyPassword key_pass
    }
}






7. migration 후 빌드까지 정상적으로 되었으나 실행시 INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 에러 발생할 경우

package 명에 대문자가 있을 경우 소문자로 변경후 clean 빌드하면 정상 동작한다.
Android Studio 에서 package rename 하는 방법은,
프로젝트 탭의 설정 아이콘 선택 -> "Compact Empty Middle Packages" uncheck -> 변경하고자 하는 폴더에서 마우스 우클릭 -> Refactor -> Rename 실행.




8. file encoding

한글 오류 발생할 경우,
해당 파일 -> 메뉴 -> File -> file encoding 선택 -> x-window-949 선택 -> reload
-> 다시 메뉴 반복 file enconding 선택 -> utf-8 선택 -> convert



9. framework debugging

해당 소스 파일을 SDK\soruces\해당버전에 위치시킴





댓글 없음:

댓글 쓰기

Android Jetpack viewpager2

  Android Jetpack ViewPager2 기본 개념 및 샘플 코드 오늘은 안드로이드 개발에 있어서 굉장히 유용한 컴포넌트 중 하나인 ViewPager2에 대해 이야기해볼까 합니다. ViewPager2는 사용자 인터페이스에서 여러 화면을 좌우...