Erstellen Sie eine C ++ - Klasse und verwenden Sie diese Klasse in einer anderen C ++ - Klasse, die JNI-Methoden in ndk android enthält

Amjad Khan 07/27/2017. 1 answers, 51 views
android android c++ android-ndk android-ndk native

In Android habe ich Probleme, zwei cpp-Klassen in nativem Android zu verbinden. Ich habe mit der einzelnen Klasse getestet, es funktioniert gut.

aber wenn ich eine andere Datei erstellt habe und nun ein Problem damit habe, sie mit der aktuellen cpp-Datei zu verknüpfen.

MainClass.cpp

#include #include "native-handler.h"

extern "C"
JNIEXPORT jstring JNICALL
Java_com_example_fragment_SampleFragment_setTitle(JNIEnv *env,jobject instance,jobject context) {

    ClassNativeHandler classNativeHandler;
    return classNativeHandler.getType(env,context);
} 

native-handler.cpp

#include #include "native-handler.h"

jstring jstringObject;

jstring ClassNativeHandler::getType(JNIEnv *env, jobject contextObject) {
    jstring jstringObject = env->NewStringUTF("Hello world");
    return jstringObject;
}

void ClassNativeHandler::setType(jstring string) {
    myType = string;
    jstringObject = string;
} 

native-handler.h

#ifndef SAMPLE_NATIVE_HANDLER_H
#define SAMPLE_NATIVE_HANDLER_H

#include #include class ClassNativeHandler
{
private:
    jstring myType;

public:
    void setType(jstring string);
    jstring getType(JNIEnv *env, jobject contextObject);
    jstring getHeaderName(JNIEnv *env);

};

#endif //SAMPLE_NATIVE_HANDLER_H 

Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := Native
LOCAL_SRC_FILES := ../cpp/mainClass.cpp
LOCAL_C_INCLUDES := ../cpp/native-handler.h
LOCAL_LDLIBS := -lz -llog -ljnigraphics
include $(BUILD_SHARED_LIBRARY) 

Fehler: undefinierter Verweis auf `ClassNativeHandler :: getType (_JNIEnv *, _jobject *) '

Geben Sie in dieser Zeile classNativeHandler.getType (env, context);

Daher kann ich die .so-Datei nicht erstellen. Bitte führen Sie mich

1 Comments
Joe C 07/27/2017
Was hat diese Frage mit Java zu tun?

1 Answers


taskinoor 07/27/2017.

Sie haben native-handler.cpp nicht kompiliert. Sie müssen es in LOCAL_SRC_FILES angeben, damit NDK es kompiliert.

LOCAL_SRC_FILES := ../cpp/mainClass.cpp ../cpp/native-handler.cpp

3 comments
Amjad Khan 07/27/2017
Jetzt kann ich die Datei kompilieren, aber bekomme Fehler beim Ausführen der Anwendung wie {JNI DETECTED ERROR IN APPLICATION: Verwendung der gelöschten lokalen Referenz 0x7f5bc55a3d}
taskinoor 07/27/2017
Innerhalb von ClassNativeHandler::getType Sie ein lokales jstring jstringObject definiert, jstring jstringObject effektiv das globale jstringObject , das den ungültigen lokalen Referenzfehler verursachen könnte.
Amjad Khan 07/27/2017
Es wird nicht im Speicher gespeichert, wenn erneut auf den Speicherort ClassNativeHandler::getType wird, der null erhält, so dass ein Fehler bei ClassNativeHandler::getType der locai-Variable jstring jstringObject

HighResolutionMusic.com - Download Hi-Res Songs

1 (G)I-DLE

POP/STARS flac

(G)I-DLE. 2018. Writer: Riot Music Team;Harloe.
2 Ariana Grande

​Thank U, Next flac

Ariana Grande. 2018. Writer: Crazy Mike;Scootie;Victoria Monét;Tayla Parx;TBHits;Ariana Grande.
3 Imagine Dragons

Bad Liar flac

Imagine Dragons. 2018. Writer: Jorgen Odegard;Daniel Platzman;Ben McKee;Wayne Sermon;Aja Volkman;Dan Reynolds.
4 Backstreet Boys

Chances flac

Backstreet Boys. 2018.
5 Clean Bandit

Baby flac

Clean Bandit. 2018. Writer: Jack Patterson;Kamille;Jason Evigan;Matthew Knott;Marina;Luis Fonsi.
6 BTS

Waste It On Me flac

BTS. 2018. Writer: Steve Aoki;Jeff Halavacs;Ryan Ogren;Michael Gazzo;Nate Cyphert;Sean Foreman;RM.
7 Fitz And The Tantrums

HandClap flac

Fitz And The Tantrums. 2017. Writer: Fitz And The Tantrums;Eric Frederic;Sam Hollander.
8 BlackPink

Kiss And Make Up flac

BlackPink. 2018. Writer: Soke;Kny Factory;Billboard;Chelcee Grimes;Teddy Park;Marc Vincent;Dua Lipa.
9 Calum Scott

No Matter What flac

Calum Scott. 2018. Writer: Toby Gad;Calum Scott.
10 Lady Gaga

I'll Never Love Again flac

Lady Gaga. 2018. Writer: Benjamin Rice;Lady Gaga.
11 Kelly Clarkson

Never Enough flac

Kelly Clarkson. 2018. Writer: Benj Pasek;Justin Paul.
12 Imagine Dragons

Machine flac

Imagine Dragons. 2018. Writer: Wayne Sermon;Daniel Platzman;Dan Reynolds;Ben McKee;Alex Da Kid.
13 Diplo

Close To Me flac

Diplo. 2018. Writer: Ellie Goulding;Savan Kotecha;Peter Svensson;Ilya;Swae Lee;Diplo.
14 Cher Lloyd

None Of My Business flac

Cher Lloyd. 2018. Writer: ​iamBADDLUCK;Alexsej Vlasenko;Kate Morgan;Henrik Meinke;Jonas Kalisch;Jeremy Chacon.
15 Ashley Tisdale

Voices In My Head flac

Ashley Tisdale. 2018. Writer: John Feldmann;Ashley Tisdale.
16 Bradley Cooper

Always Remember Us This Way flac

Bradley Cooper. 2018. Writer: Lady Gaga;Dave Cobb.
17 Halsey

Without Me flac

Halsey. 2018. Writer: Halsey;Delacey;Louis Bell;Amy Allen;Justin Timberlake;Timbaland;Scott Storch.
18 Little Mix

Woman Like Me flac

Little Mix. 2018. Writer: Nicki Minaj;Steve Mac;Ed Sheeran;Jess Glynne.
19 Little Mix

Told You So flac

Little Mix. 2018. Writer: Eyelar;MNEK;Raye.
20 Frida Sundemo

Apologize flac

Frida Sundemo. 2018.

Related questions

Hot questions

Language

Popular Tags