首页 > Eclipse项目导入Android Studio后出现的一些问题

Eclipse项目导入Android Studio后出现的一些问题

昨天开始转用Android Studio,所以有些小白问题,请大家见谅。

问题1)jni/fft.cpp undefined reference to '__android_log_write'

Android.mk文件:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := fft-jni
LOCAL_SRC_FILES := fft.cpp
LOCAL_LDLIBS := -Lbuild/platforms/android-1.5/arch-arm/usr/lib -llog

include $(BUILD_SHARED_LIBRARY)

ftt.cpp文件的部分代码,问题出现在LOGE和LOGV使用的地方:

#include <math.h>
#include <android/log.h>
#include <cstddef>

#include "fft.h"

#define LOGV(v) \
  __android_log_write(ANDROID_LOG_VERBOSE, "fft-jni" , (v))

#define LOGE(v) \
  __android_log_write(ANDROID_LOG_ERROR, "fft-jni", (v))
int jniRegisterNativeMethods(JNIEnv* env, const char* className,
    const JNINativeMethod* gMethods, int numMethods)
{
    jclass clazz;

    LOGV("Registering natives:");
    LOGV(className);
    clazz = env->FindClass(className);
    if (clazz == NULL) {
        LOGE("Native registration unable to find class:");
        LOGE(className);
        return -1;
    }
    if (env->RegisterNatives(clazz, gMethods, numMethods) < 0) {
        LOGE("RegisterNatives failed for:");
        LOGE(className);
        return -1;
    }
    LOGV("Successfully registered natives.");
    return 0;
}

网上很多方法都是围绕着添加LOCAL_LDLIBS := llog的,但我这里系统生成的mk里已经有这一行了,问题的原因可能不在这个上面,又可能是我系统中没有llog这个包(?),又或者是路径错误。但要怎么才能知道我系统有没有llog这个东西呢?

(之后有问题难以解决会在这里继续麻烦大家,跪坐。)

已解决(?):后来发现这两个东西都是用来输出信息的,没啥意义,注释掉了。。程序也运行出来了

【热门文章】
【热门文章】