안드로이드 스튜디오에서 라이브러리 프로젝트를 jar 파일로 만드는 방법을 알아보자.
//기존의 jar파일을 지우는 task
task deleteOldJar(type: Delete) {
delete 'release/daumapi.jar'
}
//라이브러리 프로젝트의 output인 classes.jar를 daumapi.jar로 이름 변경
task exportJar(type: Copy) {
// classes.jar 패스는 여기에 떨어짐
from('build/intermediates/bundles/release/')
into('release/')
include('classes.jar')
rename('classes.jar', 'daumapi.jar')
}
exportJar.dependsOn(deleteOldJar, build)
Showing posts with label AndroidStudio. Show all posts
Showing posts with label AndroidStudio. Show all posts
Thursday, May 26, 2016
Thursday, October 22, 2015
Android Studio 쓰다보니 좋은 점들
장점
1. 소스 디컴파일러가 내장되어 있어서 소스가 없는것도 소스를 쉽게 볼수 있고, 안드로이드 소스도 바로 연결이 된다.
2. gradle 빌드 시스템으로 라이브러리의 최신버전을 repository에서 받아온다.
3. 탭간 이동이 비쥬얼 스튜디오와 동일하게 ctrl + tab이다. 이게 가장 편하다.
4. dracular 테마가 있어서 좋다.
5. 프로젝트 관리가 이클립스의 workspace가 아니라서 git에 넣었을 경우에 비쥬얼 스튜디오 처럼 프로젝트를 로딩하면 모든 셋팅이 같이 로딩된다.
6. UI 에디터도 쓸만하게 프리뷰를 할수 있다.
1. 소스 디컴파일러가 내장되어 있어서 소스가 없는것도 소스를 쉽게 볼수 있고, 안드로이드 소스도 바로 연결이 된다.
2. gradle 빌드 시스템으로 라이브러리의 최신버전을 repository에서 받아온다.
3. 탭간 이동이 비쥬얼 스튜디오와 동일하게 ctrl + tab이다. 이게 가장 편하다.
4. dracular 테마가 있어서 좋다.
5. 프로젝트 관리가 이클립스의 workspace가 아니라서 git에 넣었을 경우에 비쥬얼 스튜디오 처럼 프로젝트를 로딩하면 모든 셋팅이 같이 로딩된다.
6. UI 에디터도 쓸만하게 프리뷰를 할수 있다.
Monday, September 28, 2015
Android Studio logcat 색깔 변경
이클립스와 달리 Android Studio는 디버깅시 logcat의 색깔이 하이라이팅 지정되지 않아서 여간 불편한게 아니었다.
하지만 다음과 같이 설정하면 logcat의 색깔을 지정할 수 있게 된다. 이클립스와 똑같은 환경을 만들자.
하지만 다음과 같이 설정하면 logcat의 색깔을 지정할 수 있게 된다. 이클립스와 똑같은 환경을 만들자.
Wednesday, September 16, 2015
Android Studio auto import 설정하기
Eclipse에서는 Cmd+Shift+M을 하면 auto import가 되었는데 Android Studio에서는 찾기가 쉽지 않았다. 그런데 드디어 찾아내서 방법을 공유한다.
Preferences - Editor - Auto Import에 가서 가운데에 있는 3가지 항목을 전부 checked한다.
Preferences - Editor - Auto Import에 가서 가운데에 있는 3가지 항목을 전부 checked한다.
Tuesday, April 7, 2015
Android Studio 라이브러리 프로젝트에 NDK 설정하기
인터넷에 있는 Android Studio NDK 설정 내용들은 전부다 메인 프로젝트에 NDK 소스파일 들이 있는 내용이고 라이브러리 프로젝트에 있는 내용은 없다. 그래서 라이브러리 프로젝트에서 NDK 빌드를 하는 설정을 해보았다.
그런데 이클립스의 라이브러리 프로젝트와 다르게, so파일이 생성은 되지만 자동으로 메인 프로젝트에 복사가 되지 않는다. 다음 글에서는 gradle로 빌드된 so파일을 복사를 해보겠다.
apply plugin: 'com.android.library' // 라이브러리 프로젝트
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
minSdkVersion 18
targetSdkVersion 21
ndk {
moduleName "duongame"
ldLibs "EGL", "log", "GLESv2", "android"// 추가 라이브러리 설정
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
// 여기서부터 ndk-build를 위한 추가 설정
sourceSets.main{
jni.srcDirs = []
jniLibs.srcDir 'src/main/libs'
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkLibsToJar
}
task ndkLibsToJar(type: Zip, dependsOn: 'ndkBuild', description: 'Create a JAR of the native libs') {
destinationDir new File(buildDir, 'libs')
baseName 'ndk-libs'
extension 'jar'
from(new File(buildDir, 'libs')) { include '**/*.so' }
into 'lib/'
}
task ndkBuild(type: Exec, description: 'Compile JNI source via NDK') {
// 이 부분이 메인 프로젝트에서 설정하는 것과 다른 부분이다.
// com.android.application과 다르기 library를 사용하며
// sdkHandler를 추가하여야 한다.
// 플러그인의 인터페이스가 다르다.
def ndkDir = project.plugins.findPlugin('com.android.library').sdkHandler.getNdkFolder()
println(ndkDir)
commandLine "$ndkDir/ndk-build",
'NDK_PROJECT_PATH=build',
'APP_BUILD_SCRIPT=src/main/jni/Android.mk',
'NDK_APPLICATION_MK=src/main/jni/Application.mk'
}
}
dependencies {
compile 'com.android.support:support-v4:21.0.3'
}
그런데 이클립스의 라이브러리 프로젝트와 다르게, so파일이 생성은 되지만 자동으로 메인 프로젝트에 복사가 되지 않는다. 다음 글에서는 gradle로 빌드된 so파일을 복사를 해보겠다.
apply plugin: 'com.android.library' // 라이브러리 프로젝트
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
minSdkVersion 18
targetSdkVersion 21
ndk {
moduleName "duongame"
ldLibs "EGL", "log", "GLESv2", "android"// 추가 라이브러리 설정
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
// 여기서부터 ndk-build를 위한 추가 설정
sourceSets.main{
jni.srcDirs = []
jniLibs.srcDir 'src/main/libs'
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkLibsToJar
}
task ndkLibsToJar(type: Zip, dependsOn: 'ndkBuild', description: 'Create a JAR of the native libs') {
destinationDir new File(buildDir, 'libs')
baseName 'ndk-libs'
extension 'jar'
from(new File(buildDir, 'libs')) { include '**/*.so' }
into 'lib/'
}
task ndkBuild(type: Exec, description: 'Compile JNI source via NDK') {
// 이 부분이 메인 프로젝트에서 설정하는 것과 다른 부분이다.
// com.android.application과 다르기 library를 사용하며
// sdkHandler를 추가하여야 한다.
// 플러그인의 인터페이스가 다르다.
def ndkDir = project.plugins.findPlugin('com.android.library').sdkHandler.getNdkFolder()
println(ndkDir)
commandLine "$ndkDir/ndk-build",
'NDK_PROJECT_PATH=build',
'APP_BUILD_SCRIPT=src/main/jni/Android.mk',
'NDK_APPLICATION_MK=src/main/jni/Application.mk'
}
}
dependencies {
compile 'com.android.support:support-v4:21.0.3'
}
Wednesday, February 18, 2015
Android Studio undefined reference to __android_log_print 발생시 해결 방법
Eclipse NDK 프로젝트를 Android Studio에 import 하였을때 발생하는 에러로서 Android.mk에 링크가 다음과 같이 정의가 되어 있음에도 불구하고 undefined reference to __android_log_print가 발생했다.
Android.mk
LOCAL_LDLIBS := -llog -landroid -lEGL -lGLESv2
이런 에러가 발생할때는 다음과 같이 build.gradle을 열어서 ndk에 다음과 같이 ldLibs를 추가해 주어야 한다. Android Studio에서 import시 ldLibs를 추가해 주지 않기 때문이다.
ndk {
moduleName "mediaweb"
ldLibs "log", "android", "EGL", "GLESv2"
}
Subscribe to:
Posts (Atom)