Android Studio LatinIME Project Build – 2

1. native source 복사
* C:\Users\Administrator\Desktop\새 폴더\LatinIME\native\jni 폴더를 app\src\main폴더에 그대로 복사

2. app/build.gradle 파일 수정

android{
    ...    
    sourceSets.main {
        // 컴파일된 라이브러리 저장경로 지정
        jniLibs.srcDir 'src/main/libs'
        // jni 소스가 포함된 경로를 지정
        // - Android.mk & Application.mk를 자동으로 생성해서 편리
        // - 세부설정이 복잡함
        // - 경로 지정하지 않음
        jni.srcDirs = []
    }
    aaptOptions {
        // dictionary 파일을 압축하지 않음
        // - 미설정시 다음 에러
        // - ERROR : File res/raw/main_en.dict from drawable resource
        noCompress "dict"
    }

3. app/src/main/jni/Android.mk 파일 수정

## 컴파일 옵션수정
LOCAL_CFLAGS += -Werror -Wall -Wformat=2 -Wcast-qual -Wcast-align \
    -Wwrite-strings -Wfloat-equal -Wpointer-arith -Winit-self \
    -Woverloaded-virtual -Wsign-promo -Wno-system-headers
LOCAL_NDK_STL_VARIANT := gnustl_shared # X2
## 테스트 관련 부분은 주석처리
#################### Unit test on host environment
#include $(LOCAL_PATH)/HostUnitTests.mk
#################### Unit test on target environment
#include $(LOCAL_PATH)/TargetUnitTests.mk

4. app/src/main/jni/Application.mk 파일 수정

#APP_ABI=all
#APP_STL := c++_static
APP_STL := gnustl_shared
#APP_CPPFLAGS := -std=c++11
APP_CPPFLAGS := -std=gnu++11
NDK_TOOLCHAIN_VERSION := 4.8

5. app/src/main/jni/NativeFileList.mk 파일 수정

## 테스트 관련 부분은 주석처리
#LATIN_IME_CORE_TEST_FILES := \
#    defines_test.cpp \
#    suggest/core/layout/normal_distribution_2d_test.cpp \
#    suggest/core/dictionary/bloom_filter_test.cpp \
#    suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content_test.cpp \
#    suggest/policyimpl/dictionary/structure/v4/content/probability_entry_test.cpp \
#    suggest/policyimpl/dictionary/utils/buffer_with_extendable_buffer_test.cpp \
#    suggest/policyimpl/dictionary/utils/trie_map_test.cpp \
#    utils/autocorrection_threshold_utils_test.cpp \
#    utils/int_array_view_test.cpp

6. NDK 빌드 후 APP을 실행한다. jni라이브러리를 정상적으로 로드 했다면 에러없이 설정화면으로 이동가능하다.
Screenshot_2015-10-03-11-08-33

이제 개발환경이 완료되었다 다음에는 한글을 입력할 수 있도록 설정해보자

댓글 남기기