Ich arbeite an einem Android APP Projekt mit JNI. Ich habe eine Quelle des Projekts, aber ich habe nur .so-Datei und die .java-Datei der Quelle. Wie kann ich die JNI-Funktion ohne die C++ - Quelldatei verwenden?JNI ohne C++ Quelldatei
2
A
Antwort
2
Wenn Sie die Java-Klasse, die diese .so Schnittstellen, die Sie nicht benötigen C++ Quellen, es zu benutzen. Sie können sogar die nativen Methoden von protected zu public ändern, wenn Sie Java-Wrapper-Methoden benötigen oder hinzufügen, die die Verwendung der nativen Methoden erleichtern. Stellen Sie sicher, dass Ihre Datei .so mit der Plattform übereinstimmt (z. B. können Sie keine x86-Bibliothek auf ARM-Geräten verwenden). Ihr .so muss mit einer kompatiblen Toolchain kompiliert worden sein (z. B. können Sie keinen Linux-Compiler verwenden). Und wenn Ihre .so für bestimmte Plattform gebaut wurde, kann es auf älteren Geräten nicht geladen werden: NDK-Plattformen sind kompatibel vorwärts, nicht rückwärts.
Verwandte Themen
- 1. Eingabepfadbeschränkung für Android ndk Quelldatei
- 2. Dev C++ zu kompilieren C-Quelldatei
- 3. Wie Debuggen JNI/C-Bibliothek?
- 4. Methodenaufrufe in C++ mit JNI?
- 5. JNI vs C++ Object Instanzen
- 6. JNI Strings und C-Strings
- 7. 2D C Arrays in JNI
- 8. Android JNI - Call AttachCurrentThread ohne DetachCurrentThread
- 9. JNI-Fadenmodell?
- 10. hinzufügen GCC Optionen nach oben C-Quelldatei
- 11. Quelldatei nach der Bearbeitung aktualisieren - C#
- 12. Extrahieren von Eigenschaftsnamen aus einer C# -Quelldatei
- 13. C inline alle Funktionen in Quelldatei
- 14. Verwenden von Unicode in einer C++ - Quelldatei
- 15. Kraft Java meine C++ destructor (JNI)
- 16. JNI Aufruf-API - NoClassDefFoundError (C/Java)
- 17. Convert C++ Map zu Jobject JNI?
- 18. Kompilieren von JNI C inkompatiblen Zeigertyp
- 19. C# -Methoden aus C++ aufrufen ohne COM
- 20. Kann die Quelldatei "bits/C++ config.h" nicht mit iccp öffnen
- 21. Set Quelldatei Abhängigkeiten in csproj Datei ohne manuelle Bearbeitung
- 22. Header pro Quelldatei
- 23. Java. JNI. jvm.dll
- 24. JNI mehrere Variablen
- 25. JNI erkennt keine jni primitiven Typen, z. string
- 26. JNI GetDirectBufferAddress vs. ByteBuffer.array()
- 27. JNI vs Runtime.exec()
- 28. Behandle einen JNI-Absturz
- 29. JNI-Signaturen für verschachtelte Klassen?
- 30. FFMpeg jni in Android?
Vielen Dank für Ihre Hilfe! aber das android studio verlangt von mir die implementierung der JNI funktion. was soll ich tun ?? –
Sie können diese Überprüfung deaktivieren, indem Sie Einstellungen> Inspektionen> Android> "Fehlende JNI-Funktion" deaktivieren. Aber dann müssen Sie sicherstellen, dass die native lib korrekt vorbereitet ist. –
"Sie müssen sicherstellen, dass die native lib korrekt vorbereitet ist." Ich denke, das ist mein Hauptproblem –