Quello che voglio fare:biblioteca Usare C in Android NDK sopra
Ho trovato un C library which computes an audio stream's pitch e voglio usarlo in Android.
Ho pensato che invece di portarlo potrei anche usarlo con l'aiuto dell'NDK, giusto?
Come funziona? Devo installare NDK, ovviamente, e poi? Posso chiamare le funzioni di questa libreria C come normale in Android?
La libreria in C che voglio "importazione":
#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) {
...
}
Il file "second_c_file.h" è un altro file che ho bisogno di importare, ovviamente.
Grazie per il vostro aiuto!
Grazie per il collegamento a questo tutorial! L'installazione funziona bene. Ma quando si tratta di integrare la libreria C nel progetto Android (l'uso effettivo), non funziona. La mia applicazione Android mostra solo un messaggio di errore che è stato interrotto in modo imprevisto. Non so cosa ho fatto di sbagliato. Ho fatto quello che il tutorial ha detto. E forse potresti dare un'occhiata alla mia libreria C nella domanda: quali cambiamenti devo fare? (... come i nomi delle classi C devono essere qualcosa come "Java_com_your_package_MainActivity_invokeNativeFunction" e nella mia libreria C non ci sono ancora classi ...). – caw
Grazie, il tutorial che hai collegato per aiutarmi a installare e utilizzare NDK. – caw