2023-01-20 281
在今天之前,我将Eclipse 3.8与 sequoyah插件用于Android NDK项目.
但是今天,我决定将Eclipse用SDK和NDK释放到Juno.
我很高兴,然后我在ADT安装中看到 Android Native Tools ,它将像Sequoyah一样做相同的工作,但是具有调试功能.
我创建了新的Android项目来测试它.
添加Android Native Support使用Android.mk,.cpp文件创建JNI文件夹,与Squayah一样.
然后,我首先未解决 jni.h .我与Sequoyah有类似的错误,因此我重建索引并重新启动Eclipse.重新启动后,它不会消失.
我转到c/c ++属性处的路径和符号.
但是所有内置所需的所有内容包括.
(ndk path)/platforms/android-8/arch-arm/usr/include – 有jni.h,log.h等.
我尝试添加额外的贡献包括在JNI.H,清洁项目,重新启动,重建索引,更改.ccp到.c的情况下,它尚未解决.我没有错误日志错误,但是在JNI函数上编辑器中的语法错误.
nativelib.java
package com.aristarhys.glow;
public class NativeLib
{
private static final String NATIVE_LIB = "glow";
static
{
System.loadLibrary(NATIVE_LIB);
}
private NativeLib(){};
public static native void test();
}
glow.h
#ifndef GLOW_H_
#define GLOW_H_
#include <jni.h> //unresolved
//syntax error
JNIEXPORT void JNICALL Java_com_aristarhys_glow_NativeLib_test(JNIEnv* env, jclass cls);
#endif /* GLOW_H_ */
log.h
#ifndef LOG_H_
#define LOG_H_
#include <android/log.h> //unresolved
#define INFO_TAG "[INFO]"
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, INFO_TAG, __VA_ARGS__)
#endif /* LOG_H_ */
glow.c
#include "glow.h"
#include "log.h"
//syntax error
JNIEXPORT void JNICALL Java_com_aristarhys_glow_NativeLib_test(JNIEnv* env, jclass cls)
{
LOGI("HI");
}
android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := glow
LOCAL_SRC_FILES := glow.c
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
我已经尝试过 android-ndk-r8b 在我的PATH变量中使用C:\Android\android-ndk-r8b.
项目编译没有错误.
但是Eclipse说:” Unresolved inclusion: <jni.h>
已解决:
NDK Project->New->Folder->Advanced->Link to alternate location(Linked Folder)
例如,浏览路径():C:\Android\android-ndk-r8b\platforms\android-8\arch-arm\usr\include
您可以通过选择项目
来做到这一点
属性 – > c/c ++常规 – >预处理程序包括..->条目 – >设置条目 – > CDT用户设置条目
add-> include目录 – >文件系统路径,然后输入include
的路径
ndk/platforms/android-[version]/[arch]/usr/include
我经常求解当您移动或重命名项目的工作文件夹时可能发生的类似问题.
.settings
.classpath
.cproject
.project
project.properties
此外,Eclipse 4.3先前忽略的构建系统和用户定义的编译器标志也是如此解决问题.现在,取决于此标志的宏折叠正常.
如果更通用:NDK插件可以正确地适合您的正确定义以及其他需要正常工作的内容,但是您需要从破碎的废话中清理项目,最简单的方法是Reimport Project.
以上所述是小编给大家介绍的Android添加本机支持 – 未解决的jni.h,android/log.h等,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/26187.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态