3
하나의 모듈 (ndk{moduleName}
)을 선택하여 build.gradle을 수정하는 방법을 알고 싶습니다. *.c
개 파일을 선택했습니다. 아무도 이것을 전에 해본 적이 있습니까? 이것은 가능한가? 모두 들어Android 다중 모듈 [gradle]
public ClassA {
static {
System.loadLibrary("ClassAlib")
}
public native int funcA();
}
public ClassB {
static {
System.loadLibrary("ClassBlib")
}
public native int funcA();
}
내가 JNI 헤더를 생성 SRC/JNI 폴더 안에 파일이 .c 생성 :
하자 내가이 개 수업을 말한다. build.gradle 파일을 수정하여 두 개의 libs를 하나의 라이브러리로 만드는 방법은 무엇입니까?
, 당신이 가지고있는 유일한 솔루션은 다음, 자바 lib 디렉토리 하위 프로젝트를 만들려면 해당 lib 디렉토리를 추가하는 것을 나에게 보인다 애플 리케이션 의존성,하지만 난 너무 잔인하다고 생각합니다. –
Gradle 소스를 게시 하시겠습니까? 또는 적어도 JNI 모듈을 생성하는 데 사용하는 Gradle 기능을 볼 수 있도록 현재 수행중인 작업을 보여주는 단순화 된 버전입니다. – Jason
이것들을 여러 개의 라이브러리로 생각하는 것은 오해입니다. 결국 여러 개의 .c 및 .h 파일과 하나의 main.c 및 *. *. * _ natives_MainJNI.h로 끝나고 다른 모든 파일이 포함됩니다. 어쩌면 완벽한 해결책은 아니지만 JNI 관점에서 정적 블록이되어 모듈을 분리했는지는 중요하지 않습니다. 한 번만로드 될 수 있기 때문에 System.loadLibrary가있는 동일한 라이브러리를 여러 Java 클래스로로드 할 수 없습니다. –