本文主要是介绍android NDK学习篇2之two-libs——使用(单个)静态库生成动态库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
下面以NDK提供的two-libs为例子,走一遍如何在jni层调用其他C文件的函数,原例子在second.c这个jni层文件中调用first.c里面的C函数。
通过Androi.mk文件编译生成一个动态库文件。
1、建立android工程,编写java对应JNI层的本地接口:
package com.example.twolibs;import android.app.Activity;
import android.widget.TextView;
import android.os.Bundle;public class TwoLibs extends Activity
{/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);TextView tv = new TextView(this);int x = 1000;int y = 42;// here, we dynamically load the library at runtime// before calling the native method.//int z = add(x, y);tv.setText( "The sum of " + x + " and " + y + " is " + z );setContentView(tv);}public native int add(int x, int y);static{System.loadLibrary("twolib-second");}
}
这篇关于android NDK学习篇2之two-libs——使用(单个)静态库生成动态库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!