diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 00000000..56aada05 --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,30 @@ +group 'dev.netdur.llama_cpp_dart' +version '1.0' + +buildscript { + repositories { + google() + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:8.1.0' + } +} + +rootProject.allprojects { + repositories { + google() + mavenCentral() + } +} + +apply plugin: 'com.android.library' + +android { + namespace 'dev.netdur.llama_cpp_dart' + compileSdkVersion 34 + + defaultConfig { + minSdkVersion 26 + } +} diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml new file mode 100644 index 00000000..a1c9acb1 --- /dev/null +++ b/android/src/main/AndroidManifest.xml @@ -0,0 +1,3 @@ + + diff --git a/android/src/main/jniLibs/arm64-v8a/libggml-base.so b/android/src/main/jniLibs/arm64-v8a/libggml-base.so new file mode 100755 index 00000000..c70e6447 Binary files /dev/null and b/android/src/main/jniLibs/arm64-v8a/libggml-base.so differ diff --git a/android/src/main/jniLibs/arm64-v8a/libggml-cpu.so b/android/src/main/jniLibs/arm64-v8a/libggml-cpu.so new file mode 100755 index 00000000..da956500 Binary files /dev/null and b/android/src/main/jniLibs/arm64-v8a/libggml-cpu.so differ diff --git a/android/src/main/jniLibs/arm64-v8a/libggml.so b/android/src/main/jniLibs/arm64-v8a/libggml.so new file mode 100755 index 00000000..33195463 Binary files /dev/null and b/android/src/main/jniLibs/arm64-v8a/libggml.so differ diff --git a/android/src/main/jniLibs/arm64-v8a/libllama-batched-bench-impl.so b/android/src/main/jniLibs/arm64-v8a/libllama-batched-bench-impl.so new file mode 100755 index 00000000..0d9c14e5 Binary files /dev/null and b/android/src/main/jniLibs/arm64-v8a/libllama-batched-bench-impl.so differ diff --git a/android/src/main/jniLibs/arm64-v8a/libllama-bench-impl.so b/android/src/main/jniLibs/arm64-v8a/libllama-bench-impl.so new file mode 100755 index 00000000..864ac03e Binary files /dev/null and b/android/src/main/jniLibs/arm64-v8a/libllama-bench-impl.so differ diff --git a/android/src/main/jniLibs/arm64-v8a/libllama-common.so b/android/src/main/jniLibs/arm64-v8a/libllama-common.so new file mode 100755 index 00000000..a02038e3 Binary files /dev/null and b/android/src/main/jniLibs/arm64-v8a/libllama-common.so differ diff --git a/android/src/main/jniLibs/arm64-v8a/libllama-completion-impl.so b/android/src/main/jniLibs/arm64-v8a/libllama-completion-impl.so new file mode 100755 index 00000000..b79cb227 Binary files /dev/null and b/android/src/main/jniLibs/arm64-v8a/libllama-completion-impl.so differ diff --git a/android/src/main/jniLibs/arm64-v8a/libllama-fit-params-impl.so b/android/src/main/jniLibs/arm64-v8a/libllama-fit-params-impl.so new file mode 100755 index 00000000..93a14ef7 Binary files /dev/null and b/android/src/main/jniLibs/arm64-v8a/libllama-fit-params-impl.so differ diff --git a/android/src/main/jniLibs/arm64-v8a/libllama-perplexity-impl.so b/android/src/main/jniLibs/arm64-v8a/libllama-perplexity-impl.so new file mode 100755 index 00000000..8d23607e Binary files /dev/null and b/android/src/main/jniLibs/arm64-v8a/libllama-perplexity-impl.so differ diff --git a/android/src/main/jniLibs/arm64-v8a/libllama-quantize-impl.so b/android/src/main/jniLibs/arm64-v8a/libllama-quantize-impl.so new file mode 100755 index 00000000..c2a66185 Binary files /dev/null and b/android/src/main/jniLibs/arm64-v8a/libllama-quantize-impl.so differ diff --git a/android/src/main/jniLibs/arm64-v8a/libllama.so b/android/src/main/jniLibs/arm64-v8a/libllama.so new file mode 100755 index 00000000..cdc75531 Binary files /dev/null and b/android/src/main/jniLibs/arm64-v8a/libllama.so differ diff --git a/android/src/main/jniLibs/arm64-v8a/libmtmd.so b/android/src/main/jniLibs/arm64-v8a/libmtmd.so new file mode 100755 index 00000000..e8aa1cd8 Binary files /dev/null and b/android/src/main/jniLibs/arm64-v8a/libmtmd.so differ diff --git a/android/src/main/jniLibs/x86_64/libggml-base.so b/android/src/main/jniLibs/x86_64/libggml-base.so new file mode 100755 index 00000000..1f651090 Binary files /dev/null and b/android/src/main/jniLibs/x86_64/libggml-base.so differ diff --git a/android/src/main/jniLibs/x86_64/libggml-cpu.so b/android/src/main/jniLibs/x86_64/libggml-cpu.so new file mode 100755 index 00000000..69fb7a01 Binary files /dev/null and b/android/src/main/jniLibs/x86_64/libggml-cpu.so differ diff --git a/android/src/main/jniLibs/x86_64/libggml.so b/android/src/main/jniLibs/x86_64/libggml.so new file mode 100755 index 00000000..8ad48d5e Binary files /dev/null and b/android/src/main/jniLibs/x86_64/libggml.so differ diff --git a/android/src/main/jniLibs/x86_64/libllama.so b/android/src/main/jniLibs/x86_64/libllama.so new file mode 100755 index 00000000..d9381907 Binary files /dev/null and b/android/src/main/jniLibs/x86_64/libllama.so differ diff --git a/pubspec.yaml b/pubspec.yaml index 88111bde..23aea565 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -36,6 +36,8 @@ ffigen: flutter: plugin: platforms: + android: + ffiPlugin: true ios: ffiPlugin: true macos: diff --git a/tool/build_android_aar.sh b/tool/build_android_aar.sh index 9a61d267..98c6de3b 100755 --- a/tool/build_android_aar.sh +++ b/tool/build_android_aar.sh @@ -39,7 +39,7 @@ done # Auto-discover NDK if not specified. if [[ -z "$NDK" ]]; then - CANDIDATE="/Users/adel/Library/Android/sdk/ndk" + CANDIDATE="$HOME/Library/Android/sdk/ndk" if [[ -d "$CANDIDATE" ]]; then # Pick the lexicographically-largest version (safe enough for our SDKs). NDK="$CANDIDATE/$(ls -1 "$CANDIDATE" | sort -V | tail -1)"