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 에 대한 상세 설명은 아래 링크 참조
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
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
}
}
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\해당버전에 위치시킴