我想在我的Android应用程序中包含两个共享库liba.so
和libb.so
。从libb.so
中的函数中调用liba.so
的函数。
我有一个Java类,它调用本地JNI函数为
package com.test.myapplication;
public class Mainactivity extends AppCompatactivity {
static{
System.loadlibrary(a);
System.loadlibrary(b);
}
public native void testSample();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
testSample();
}
}
我的JNI文件是
#include"a.h"
extern "C" void JNICALL Java_com_test_myapplication_Mainactivity_testSample( JNIEnv* env,jobject thiz) {
a_foo();
}
属于我的库liba.so的a.cpp文件是
#include"b.h"
void a_foo()
{
/* ..... code .....*/
b_foo();
/* ..... code .....*/
}
我的b.cpp是libb.so的一部分
void b_foo()
{
/* ..... code .....*/
}
我想将liba.so和libb.so作为librares而不是作为源添加到我的应用程序中。这两个库都是使用android-ndk独立构建的。