Huvle SDK 연동 오류1. Library Path 오류2. Eclipse dx.jar 오류3. JNI 오류3-1. JNI DETECTED ERROR3-1-1. Proguard 설정3-2. FATAL EXCEPTION3-3. 기타 오류사항4. MultiDex 오류5. Lint option Error.6. Huvle 이용 동의창 오류7. 기타 오류사항

Huvle SDK 연동 오류

1. Library Path 오류


Huvle SDK Library를 정상적으로 Module Import를 하였으나 아래의 그림과 같이AndroidManifest.xml 혹은 MainActivity에서 Huvle SDK를 참조하지 못할 경우 Huvle SDK 내부에서 사용중인 jar 파일의 경로를 설정해주어야합니다.

 

 

1-1. Huvle SDK Library Path 설정


build.gradle(Module:app) 파일의 dependencies 영역에 Huvle Library 내부에서 사용중인 jar 파일의 경로를 설정합니다.

 

Example Library Path 설정[build.gradle(Module:app)/dependencies]


 

앱사의 폴더 구조 및 Library 버전에 맞게 Library Path를 설정해주셔야합니다.

 

 

2. Eclipse dx.jar 오류


Eclipse IDE 를 통해 Huvle SDK Library 연동 후 앱 빌드 시 아래와 같은 오류 메시지가 발생한다면 build-tools 버전 정보를 수정해야합니다.

 

Error Message


 

귀사의 앱 프로젝트의 project.properties 파일에 build-tools 버전 정보를 25.0.3으로 설정합니다.

 

project.properties 파일 경로


 

Example Code[project.properties]


 

 

3. JNI 오류


3-1. JNI DETECTED ERROR


귀사의 앱 프로젝트에서 프로가드를 사용하였고, Huvle Library를 예외처리하지 않았을 경우 아래와 같이 JNI DETECTED ERROR가 발생할 수 있습니다.

 

Error Message


 

3-1-1. Proguard 설정

귀사의 앱 프로젝트에서 프로가드를 사용하고 있다면 아래와 같이 proguard-rules.pro파일에 Huvle SDK를 예외처리합니다.

 

Example Code[proguard-rules.pro]


 

 

3-2. FATAL EXCEPTION


FATAL EXCEPTION이 발생하여 Huvle Library 내부에서 사용중인 Native 함수를 찾을 수 없을 경우 아래와 같은 오류 메시지가 출력됩니다.

이러한 오류가 발생하는 원인은 Huvle Library 프로젝트에서 사용중인 .so 파일의 파일명과 귀사의 앱 프로젝트에서 사용중인 .so 파일 명이 중복될 경우 아래와 같은 FATAL EXCEPTION이 발생할 수 있습니다.

 

Error Message


 

귀사의 앱 프로젝트에서 사용중인 .so파일 명과 Huvle SDK 내부에서 사용중인 .so 파일명(libnative-huvle-lib.so)이 중복되는지 확인하십시오.

만약 파일 명이 동일할 경우 Huvle SDK 내부에서 사용중인 .so파일이 정상적으로 빌드되지 못하여 오류가 발생할 수 있습니다.

 

3.0.17 버전 이하에서 파일명 중복 오류가 발생하여 .so 파일명을 huvle을 포함한 파일명으로 수정하였습니다.

Old File Name : libnative-lib.so

New File Name : libnative-huvle-lib.so

 

3-3. 기타 오류사항


Huvle Library 프로젝트의 하위의 JniLibs 폴더안에 존재하는 .so 파일이 정상적으로 로드되지 않았을 경우 다양한 오류가 발생될 수 있습니다.

JNI와 관련된 오류가 발생되었다면 jniLibs 폴더안의 .so 파일들이 정상적으로 로드되었는지 확인이 필요합니다.

 

NDK와 관련된 오류 사항이 발생하여 문제 해결이 어려울 경우에는 관리자에게 문의 부탁드립니다.

 

 

4. MultiDex 오류


귀사의 앱 프로젝트에서 다수의 라이브러리를 연동하였을 경우 앱의 규모가 커지게되어 MultiDex 오류가 발생될 수 있습니다.

 

Error Message


 

단일 Application에서 66536(64K) 이상의 함수(Method)를 초과하여 사용하게될 경우 MultiDex 오류가 발생할 수 있으며, 해당 오류를 해결하기 위해서는 아래와 같이 Multidex 를 설정해야합니다.

 

Multidex 설정


  1. 귀사의 앱 프로젝트 파일 중 build.gradle(Module:app) 파일에 defulatConfig 속성에 multiDexEnabled 속성을 true로 설정합니다.

 

Example Code [build.gradle(Module:app]


 

  1. 귀사의 앱 프로젝트 파일 중 build.gradle(Module:app) 파일에 dependencies 영역에 multidex 라이브러리를 추가합니다.

 

Example Code [build.gradle(Module:app]


 

  1. MultiDexApplication을 상속 받는 Class를 생성합니다. class 생성 후 아래의 예제 코드와 같이 attachBaseContext( )메서드를 Override 하여 MultiDex.install( )메서드를 호출합니다.

 

만약 Application을 상속 받는 class가 이미 있다면 해당 class의 extends 정보를 MultiDexApplication으로 변경 합니다.

 

Example Code


 

  1. MultiDexApplication을 상속 받는 class 정보를 AndroidManifest.xml파일의 <application> 속성에 추가해줍니다.

 

Example Code [AndroidManifest.xml]


 

5. Lint option Error.


Huvle Library 연동 후 릴리즈 버전으로 APK 빌드시 Lint Optin Error가 발생할 경우 build.gradle(Module:app) 파일에 lintOptions 구문을 추가하고 abortOnError 속성을 false로 설정합니다.

 

Example [build.gradle(Module:app]


 

Lint Option Error가 발생하는 이유는 Huvle Library 내부에서 사용중인 언어와 귀사의 앱에서 사용중인 언어 정보가 다를 경우 발생할 수 있습니다.

Huvle Library는 영어(기본언어), 한국어, 중국어, 베트남어, 일본어를 지원하고 있습니다.

 

 

6. Huvle 이용 동의창 오류


Sap_act_main_launcher.classjava파일 형태로 배포됨으로 앱사측에서 소스 수정 및 Log 기록을 확인할 수 있습니다. 만약 Huvle 이용 동의창이 정상적으로 출력되지 않았을 경우 아래의 예제 코드와 같이 initsapStart( )메서드가 정상적으로 호출되었는지 확인하십시오.

 

Example Code


 

initsapStart( ) 메서드가 정상적으로 호출되지 않았을 경우


 

 

7. 기타 오류사항


Huvle Library 연동에 어려움이 있다면 샘플 앱 다운로드 후 샘플 앱의 설정 정보를 확인하여 귀사의 앱 프로젝트에 누락된 정보가 없는지 확인이 필요합니다.

연동 오류가 발생하는 가장 큰 이유는 gradle 설정 정보에 의한 오류일 확률이 가장 높습니다. gradle 설정 정보가 정상적으로 설정되었는지 확인이 필요합니다.

 

오류 해결 문서를 통해 오류 사항을 해결하지 못할 경우에는 관리자에게 문의 부탁드립니다.