Tag: android ndk

在Eclipse Helios中使用C ++的Android Cocos2DX

我使用Eclipse Helios 3.6.1进行Java开发。 我想在同一个IDE中启动C ++开发,因此我安装了Autotools支持CDT,C / C ++开发工具,C / C ++库API文档hover帮助插件 。 现在写下面的语句时,我在HelloWorldScene.h文件中包含了#include“cocos2d.h” cocos2d::CCSprite * ccSprite; 我没有像coco一样写自动完成栏(模板提案)并从我的键盘按Ctrl + Space 。 可能是什么问题? 这可能会帮助您解决我的问题。 请点击这里 。 这是我点击右键单击项目 – >索引 – >搜索未解决的索引后得到的。 但我在这里添加了所有包含检查。 我认为这会导致内容辅助问题。 在这种情况下我该怎么办? 包容似乎是正确的。

如何使用NDK将Lame 3.99.5添加到Android Studio?

我是Android NDK的新手。 我需要使用NDK将Lame库添加到Android Studio。 我开始研究并找到一些有用的链接: Lame MP3 Encoder编译为Android 如何将“跛脚”mp3编码器共享对象链接到Android工作室项目 我成功但只建立了“armeabi”。 我怎样才能构建另一个像:“arm64-v8a”,“armeabi-v7a”,“mips”,“mips64”,“x86”,“x86_64”? 先感谢您!

从Unity Script调用Android NDKfunction

所以我正在创建一个使用Unity的Android应用程序……我从Unity获得了一些资产包,但我不知道Unity开始之前的url。 因此Unity需要调用Native(Android)端的函数来获取url。 我已经失去了一段时间如何做到这一点(Unity文档是非常可怕的imho)。 我决定用NDK来帮助我。 没有Unity,关于我的库文件的一切都可以解决……现在问题是在Unity中调用这些C函数。 这是我的lib: #include #include #include #define DEBUG_TAG “NDK_blahy” extern “C” { jstring Java_com_blah_blah_getURL(JNIEnv * env, jobject this); void Java_com_blah_blah_setURL(JNIEnv * env, jobject this, jstring URL); } jstring url; void Java_com_blah_blah_setURL(JNIEnv * env, jobject this, jstring URL) { url = URL; jboolean isCopy; const char * szLogThis = (*env)->GetStringUTFChars(env, URL, &isCopy); __android_log_print(ANDROID_LOG_DEBUG, […]

如何在opencv for android中将ArrayList 从Java传递到本机端(NDK)

在Java方面,我有 List arystrdimages = new ArrayList(); 随后,从外部目录中的文件夹读取的图像被添加到列表中 for(File f:strdimgs) { Mat tempimg = Highgui.imread(f.getAbsolutePath(),CvType.CV_8UC1); arystrdimages.add(tempimg ); } 在Native jni方面,我想通过它的引用访问arystrdimages。 对于单个mat对象,我们可以通过调用getNativeObjAddr方法来实现,即在opencv4android示例中为Mat对象进行本机访问,如下所示 Java的 private Mat mRgba; 打电话给本地人 CallNative(mRgba.getNativeObjAddr()); 在原住民方面 JNIEXPORT void JNICALL Java_org_opencv_samples_tutorial2_Tutorial2Activity_CallNative(JNIEnv*, jobject, jlong addrRgba1){ Mat& mRgb = *(Mat*)addrRgba1; } 如何为List对象执行此操作? 编辑:实施您建议的解决方案 Java方面 int elems= arystrdimages.size(); Log.v(“Matobjdata”, “number of Matobject read = ” + elems); //Log.v(“Matobjdata”, […]

如何提高Tesseract的OCR文本的准确性?

我创建了一个基本应用程序,用于使用Google的Tesseract API识别文本,并将其与我的相机应用程序集成。 它工作正常,但唯一的问题是准确性,因为有时文本被识别为一组随机字符,我猜准确率约为50%。 此外,当它尝试扫描图像中的四个以上的单词时,应用程序崩溃。 String ocrText = baseApi.getUTF8Text(); baseApi.end(); 其中baseApi是Tesseract API类的对象。 我是否需要使用不同的数据结构来保存已识别的文本,还是有其他原因导致超过四个单词无法识别?

通过JNI获取Java ByteBuffer的指针

如何获得指向Java ByteBuffer内部数组的指针? JNIEXPORT void JNICALL test(JNIEnv *env, jobject thiso) { jclass cls = env->FindClass(“java/nio/ByteBuffer”); jmethodID aloc = env->GetStaticMethodID(cls, “allocateDirect”, “(I)Ljava/nio/ByteBuffer;”); jobject obj = env->CallStaticObjectMethod(cls, aloc, 1000); } PS:我这样做是为了分享Java和C ++使用的内存。

如何在Android NDK上使用JNI在C和Java之间传递复杂结构

我在Android应用程序的C代码中有一个复杂的结构,我想在Java端使用它。 我已经用google和stackoverflow做了一些研究,所以我从我的C结构创建了java类,但现在如何用Java创建它。 我已经找到了这些信息,关于在类中创建指针并在C端使用它: Get the field ID : (*env)->GetFieldID(…) Get the pointer : (*env)->GetLongField(…) Set the pointer : (*env)->SetLongField(…) 但我不明白它是如何运作的…… 在上面,你可以找到我到目前为止所做的事情……不是那么多! 在C方面: ComplexStructure Java_com_main_MainActivity_listenUDP(JNIEnv* env, jclass clazz) { int i,taille; ComplexStructure myStruct; taille = -1; taille = recvfrom(socket, &myStruct, sizeof(ComplexStructure ), 0, &rcvAddr, &sizeOfSock); if(taille != -1) { return myStruct; } return NULL; } 在Java方面: […]