Modules ndk ndk Android

J'ai un projet natif qui, en frustration avec le système de création, j'ai travaillé en bloquant tout le code depuis plusieurs années. J'ai tenté de porter le projet correctement à gradle-experimental, mais c'est encore une catastrophe 2,5 ans plus tard. Je tente maintenant d'utiliser le système Android.mk dans le cadre du projet réorganisé (pour gradle-experimental).

Voici l'organisation:

  • Maintenir / Enregistrer / Restaurer la position de défilement lors du retour à une liste
  • Impossible de connecter Nexus One Phone à Android adb
  • GetFromLocationName error, Service non disponible. A travaillé, arrêté
  • Comment puis-je détecter un clic sur l'écran?
  • ViewPager à l'intérieur de Fragment avec les marges et le transformateur de page ne rendant pas correctement
  • Android - Où devrions-nous sauvegarder le nom d'utilisateur et le mot de passe dans la mémoire de l'appareil?
    • Jpeg (full native)
    • Processeur (entièrement natif, dépend de jpeg)
    • Bibliothèque (jni, dépendant du processeur et jpeg)

    module -jni (contains Application.mk, Android.mk) -jpeg --src ---main ----jni -----Android.mk (and source co-located) -processor --src ----main -----jni ------Android.mk ------/processor(source) -library --src ----main -----java -----jni -----Android.mk (and source co-located) 

    Je sais que je pourrais l'aplatir si j'utilise les fichiers de création, mais je constate un jour en 2020 Android Studio sera vraiment compatible avec les Autochtones, donc j'ai pensé que je garderais le format actuel du projet.

    Voici mes fichiers de création:

    Module / jni:

     LOCAL_PATH := $(call my-dir) STARTUP_DIR := $(LOCAL_PATH) include $(STARTUP_DIR)/../jpeg/src/main/jni/Android.mk include $(STARTUP_DIR)/../processor/src/main/jni/Android.mk include $(STARTUP_DIR)/../library/src/main/jni/Android.mk include $(CLEAR_VARS) 

    Jpeg / jni:

     LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_ARM_MODE := arm LOCAL_SRC_FILES := [truncated] LOCAL_CFLAGS += -DAVOID_TABLES LOCAL_CFLAGS += -O3 -fstrict-aliasing -fprefetch-loop-arrays #LOCAL_CFLAGS += -march=armv6j # enable tile based decode LOCAL_CFLAGS += -DANDROID_TILE_BASED_DECODE ifeq ($(TARGET_ARCH_VARIANT),x86-atom) LOCAL_CFLAGS += -DANDROID_INTELSSE2_IDCT LOCAL_SRC_FILES += jidctintelsse.c endif # enable armv6 idct assembly ifeq ($(strip $(TARGET_ARCH)),arm) LOCAL_CFLAGS += -DANDROID_ARMV6_IDCT endif # use mips assembler IDCT implementation if MIPS DSP-ASE is present ifeq ($(strip $(TARGET_ARCH)),mips) ifeq ($(strip $(ARCH_MIPS_HAS_DSP)),true) LOCAL_CFLAGS += -DANDROID_MIPS_IDCT LOCAL_SRC_FILES += \ mips_jidctfst.c \ mips_idct_le.S endif endif LOCAL_MODULE := libjpeg include $(BUILD_STATIC_LIBRARY) 

    Processeur / jni

     LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_CFLAGS += -DUSE_JPEG LOCAL_STATIC_LIBRARIES += libjpeg LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../../../jpeg/src/main/jni LOCAL_MODULE := processor LOCAL_SRC_FILES := [truncated] LOCAL_C_INCLUDES += [truncated] LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/processor/include LOCAL_LDLIBS += -lz include $(BUILD_SHARED_LIBRARY) 

    Lorsque j'utilise ndk-build, il va réussir à créer un jpeg lorsqu'il obtient la construction du processeur. Il ne manquera pas de construire n'importe quel code référençant jpeg (dans le processeur) avec des références indéfinies telles que:

    Référence non définie à `jpeg_std_error (jpeg_error_mgr *) '

    J'ai l'impression que je fais quelque chose de mal dans la configuration de l'Android.mk parental tel que LOCAL_STATIC_LIBRARIES += libjpeg pas correctement. Quelqu'un sait ce que je ferais mal ici?

  • Android: Enregistrement du nom d'utilisateur et du mot de passe?
  • Android: défilement de ViewPager basé sur la vitesse
  • Android SQLiteMisuseException lors de l'appel de database.rawQuery
  • AlignmentSpan ne fonctionne pas pour le texte RadioButton
  • Réalités de l'utilisation de QT C ++ pour écrire une application de téléphonie multiplate-forme
  • Est-il possible d'utiliser le contenu: // comme source pour un élément <audio> dans un WebView
  • One Solution collect form web for “Modules ndk ndk Android”

    Il s'avère que j'ai tiré le mauvais en-tête jpeg qui n'avait pas extern "C" pour aider à gérer le nom dans c ++. La correction de l'en-tête portait sur le problème.

    En outre, j'ai dû réorganiser la structure des dossiers car NDK imbriqué est un cauchemar si tous les projets ne tombent pas sous jni. Il commencera à gérer LOCAL_PATH, les caractères génériques et, en principe, tout chemin relatif.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.