Co chcę zrobić:Wykorzystanie biblioteki C w ciągu Android NDK
Znalazłem C library which computes an audio stream's pitch i chcesz go używać w Androidzie.
Myślałem, że zamiast przenosić go, mogę go również użyć przy pomocy NDK, prawda?
Jak to działa? Muszę oczywiście zainstalować NDK, a potem? Czy mogę wywoływać funkcje tej biblioteki C tak samo normalnie w systemie Android?
Biblioteka w C, że chcę "Importuj":
#include "second_c_file.h"
#include <math.h>
#include <stdlib.h>
#include <string.h>
#ifndef max
#define max(x, y) ((x) > (y)) ? (x) : (y)
#endif
#ifndef min
#define min(x, y) ((x) < (y)) ? (x) : (y)
#endif
int _power2p(int value) {
...
}
typedef struct _minmax {
int index;
struct _minmax *next;
} minmax;
double _test_calculate(double * var1, int var2, int var3) {
...
}
Plik "second_c_file.h" to kolejny plik, który trzeba importować, oczywiście.
Dzięki za pomoc!
Dzięki za link do tego samouczka! Instalacja działa dobrze. Ale jeśli chodzi o integrację biblioteki C w projekcie Android (rzeczywiste użycie), to nie działa. Moja aplikacja na Androida pokazuje komunikat o błędzie, że została niespodziewanie zatrzymana. Nie wiem, co zrobiłem źle. Zrobiłem to, co powiedział samouczek. I może mógłbyś rzucić okiem na moją bibliotekę C w pytaniu: Jakie zmiany muszę zrobić? (... ponieważ nazwy w klasie C muszą być podobne do "Java_com_your_package_MainActivity_invokeNativeFunction", aw mojej bibliotece C nie ma jeszcze żadnych klas ...). – caw
Dziękuję, samouczek, który podłączyłeś, pomógł mi zainstalować i używać NDK. – caw