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라이브러리를 정상적으로 로드 했다면 에러없이 설정화면으로 이동가능하다.
이제 개발환경이 완료되었다 다음에는 한글을 입력할 수 있도록 설정해보자