2013-05-24 2 views
0

Я пытаюсь создать HelloWorld приложение, которое будет печатать журнал ..NDK HelloWorld: Как создать .h файлы с помощью javah

  • я пытался компиляции проекта с использованием NDK
  • создан файл .so в папке Libs

Проблема: - я не знаю, как создать машину, сгенерированные файлы заголовков в соответствии с моим Helloworld.java класса - это из-за того, что его дает мне ошибку

java.lang.UnsatisfiedLinkError: Native method not found 

Мой Android.mk файл выглядит

LOCAL_PATH := $(call my-dir) 
include $(CLEAR_VARS) 
LOCAL_LDLIBS := -llog 
LOCAL_MODULE := ndk1 
LOCAL_SRC_FILES := hello.c 
include $(BUILD_SHARED_LIBRARY) 

ответ

-1

Вам не обязательно нужно использовать javah. Вы можете написать файл заголовка самостоятельно. Но вам нужно написать «клей» между Java и NDK.

Если вы хотите сгенерировать заголовочный файл с помощью javah, here - это документация. Вам просто нужно называть javah на вашем Java-классе.

Here - это небольшой учебник, который может помочь вам.

+0

Спасибо, я попробую это .. +1 за вашу помощь – aditya

2

Для проектов Android Studio, команда звучит так:

 
cd C:\<path to your app>\src\main\java 

javah -o ../jni/NameOfHeaderFile.h package.name.of.java.class.YourJavaClass 

В словах: Перейдите к "Java" директории вашего приложения. Один уровень над этим каталогом должен быть вашей jni-папкой, куда должен идти файл заголовка. Дайте вашему заголовочному файлу имя с параметром -o. Скажите javah, какой класс Java вы хотите использовать для создания файла заголовка с параметром seconds. Этот класс java должен быть идентифицирован по его полному имени пакета.

Смежные вопросы