是的,Android NDK有案例。以下是一個使用Android NDK的簡單案例:
app
目錄下,找到并打開build.gradle
文件。在文件中添加以下內容:android {
...
defaultConfig {
...
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}
}
...
}
這段代碼的作用是配置NDK支持的所有ABI(Application Binary Interface)。
app
目錄下,找到并打開src
目錄下的main
目錄。然后創建一個新的文件夾,命名為jniLibs
。jniLibs
文件夾下,為每個支持的ABI創建一個文件夾,例如armeabi-v7a
、arm64-v8a
、x86
和x86_64
。.so
文件)復制到相應的ABI文件夾中。例如,如果你有一個名為libnative-lib.so
的庫文件,你應該將它復制到jniLibs/armeabi-v7a
、jniLibs/arm64-v8a
、jniLibs/x86
和jniLibs/x86_64
這四個文件夾中。MainActivity
類中,你可以使用System.loadLibrary()
方法來加載NDK庫。例如:public class MainActivity extends AppCompatActivity {
// 加載NDK庫
static {
System.loadLibrary("native-lib");
}
...
}
MainActivity
類中使用NDK庫提供的功能了。例如,如果你有一個名為native-lib
的庫,它提供了一個名為stringFromJNI
的本地方法,你可以這樣調用它:public class MainActivity extends AppCompatActivity {
...
public String stringFromJNI() {
return nativeStringFromJNI();
}
// 本地方法聲明
private native String nativeStringFromJNI();
...
}
build.gradle
文件中添加以下內容:android {
...
buildTypes {
...
release {
...
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}
}
}
...
}
這段代碼的作用是配置NDK在發布版本中的支持情況。
現在,你已經成功創建了一個使用Android NDK的簡單案例。你可以根據需要修改和擴展這個案例,以充分利用NDK提供的強大功能。