2017-10-26 1 views
0

Android Studio에서 사용할 .AAR (나로부터)으로 변환 된 C++ 라이브러리. lib 폴더에 aar 파일을 추가 할 수 있었고 gradle을 사용하여 성공적으로 동기화 할 수있었습니다.Android Studio에 C++ AAR 라이브러리 추가?

저는 C++ 라이브러리에만 액세스 할 수 있다는 사실을 잘 알고 있습니다. JNI를 던졌습니다. 불행히도 JNI에 포함시킬 C++ lib 함수를 찾을 수 없습니다.

저는 C++ lib 통합에 익숙하지 않습니다. 편곡 파일은 8 개 .SO 파일

프로젝트 수준 어떤 제안이나 도움이 감사

compile(name:'oxy', ext:'aar') 

 repositories { 
    jcenter() 
    flatDir{ 
     dirs 'libs' 
    } 
} 

응용 프로그램 레벨을 포함하고 있습니다.

답변

0

.so 파일을 aar로 변환하는 동안 작성자는 실제로 JNI 인터페이스를 구현하는 Java 코드 래퍼를 작성해야합니다. 래퍼 자바 클래스를 사용하면 원시 코드에 쉽게 액세스 할 수 있습니다. 압축 해제 도구를 사용하여 aar 파일을 추출하고 classes.jar 파일이 있는지 확인할 수 있습니다. 그렇다면 .class 파일을 디 컴파일하여 (코드가 난독 화되지 않은 경우) Java 코드를 보거나 작성자와 이야기하여 Java 클래스 사용 방법에 대한 세부 정보를 얻을 수 있습니다.

+0

그래서 JNI로 라이브러리에 액세스하기에 충분하지 않습니까? – Nikhil

+0

예 .so 파일의 사용자/작성자는 Java에서 JNI 계층을 작성하고 원시 코드를 호출해야하며 반대의 경우도 마찬가지입니다. JNI는 기본적으로 기본 코드와 인터페이스하기위한 접착제 레이어입니다. – Srikanth

+0

@Nikhil 질문이 해결되면 답변을 수락하십시오. – Srikanth

관련 문제