Migrare un programma C a Android NDK

Sono un principiante con C / C ++ e l'Android NDK e ho un problema cercando di creare una libreria nativa. Il mio codice compila utilizzando MinGW su CDT, ma quando scrivo lo stesso codice su un file JNI, c'è un errore.

Il mio codice è:

  • Come abilitare solo un'istanza della mia applicazione
  • Visualizzazione TwoWay Aggiungi spazio vuoto automaticamente
  • Il metodo OnDraw () di Layout definito non viene chiamato
  • Come get il profilo come il genere da google signin in Android?
  • errore dell'emulatore android: PANIC: Imansible aprire: C: \ Users \ hallo \ .android / avd / myemu.ini
  • Rimborso degli acquisti di test durante la verifica di Google in-App
  • int n = 7; int positions[n]; int final_order[n]; memcpy(positions, final_order,sizeof(final_order)); 

    Il plugin mi mostra:

     Invalid arguments 'Candidates are: void * memcpy(void *, const void *, ?)' 

    Questo è l'intestazione di MinGW su CDT:

     _CRTIMP void* __cdecl __MINGW_NOTHROW memcpy (void*, const void*, size_t); 

    Questo l'intestazione dal Android NDK:

     extern void* memcpy(void *, const void *, size_t); 

  • Eccezione in Drawable.createFromResourceStream () - SOLO HTC?
  • Errore: questo SDK di Android richiede Android Developer Toolkit versione 22.6.1 o superiore
  • Casuale exception android.database.sqlite.SQLiteException: Imansible aprire il file di database
  • Accedi una volta
  • Come incorporare un clip YouTube in un WebView su Android
  • Come posso utilizzare Android aaptOptions?
  • 2 Solutions collect form web for “Migrare un programma C a Android NDK”

    C'è un problema di indexing noto quando si utilizza Eclipse per eseguire lo sviluppo GDR.

    Leggi qui qui: https://code.google.com/p/android/issues/detail?id=33788

    Vicino al fondo c'è una soluzione ragionevole che io stesso uso:

    Quello che vogliamo è utilizzare la toolchain di Android GCC ma modificare gli strumenti effettivi e modificare le opzioni di ricerca in modo che i routes di inclusione ei simboli siano corretti.

    Vai in editor C / C ++ Buid \ Tool Chain

    Assicurarsi che GCC di Android sia la toolchain selezionata e che Android Builder sia il constructor selezionato.

    Fai clic su "Seleziona strumenti" Seleziona "Consenti tutte le modifiche" Rimuovi il compilatore di Android GCC Aggiungi "Compilatore GCC C" e "GCC C ++ Compiler" affinché possiamo indicizzare le intestazioni c e cpp.

    Se si guarderebbe "Paths and Symbols" si vedrebbe che abbiamo entrambe le lingue GNU C e GNU C ++, ma naturalmente i routes incorporati incorporati sono sbagliati. per fortuna c'è una soluzione per questo.

    Andare in Opzioni di C / C ++ Build \ Discovery Cambia ambito di profili di rilevamento in "Ampiezza di configuration" Assicurati che il profilo Discovery utilizzi "AndroidPerProjectProfile" e accertati che sia selezionata la casella di controllo.

    Devo quindi aggiungere manualmente le mie proprie directory e le definizioni in Project Properties -> C/C++ General -> Paths and Symbols

    Vale la pena notare che il codice è compilato bene. Puoi distriggersre l'indexing se vuoi, ma se desideri ancora i vantaggi dell'indexing, dovrai lavorare attorno al problema.

    Un'altra soluzione è:

    per aprire la prospettiva android native ,

    per fare clic con il button destro del mouse sul progetto nel project navigator ,

    e fare clic sulle opzioni di index per ribuild gli indici.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.