Соглашение о присвоении имен для метода интерфейса Java и имени модуля?
Я в состоянии следовать учебнику JNI просто отлично. Но когда я меняю имя метода, у меня возникают проблемы. Есть ли соглашение об именах, которому я должен следовать? В учебном пособии в качестве имени модуля и имени библиотеки использовался HelloJNI. Я использовал "useaaacom".
Я получил отличные отзывы об этом, и я делаю успехи. У меня есть связанный вопрос; дайте мне знать, если я должен создать еще один пост для него. Мне нравится строить на этом приложении, которое работает на данный момент. Как вызвать функции из драйвера устройства? У меня есть файл заголовка, и драйвер загружается в мое изображение. Под "как" я имею в виду, нужно ли мне иметь копию файла заголовка в моем проекте? Этот драйвер устройства реализован поставщиком, то есть он не является частью AOSP. У меня есть его копия, так как я скачал весь проект с открытым исходным кодом и собрал его. Итак, я спрашиваю, что мне нужно в моем apk для того, чтобы приложение вызывало функции, являющиеся частью активного драйвера устройства?
Дайте мне знать, если я должен объяснить какую-либо часть этого, или мне нужно опубликовать файл заголовка или ....
Я уже подтвердил, что могу открыть драйвер устройства со следующими строками кода:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main(int argc, char **argv)
{
/* Our file descriptor */
int fd;
int rc = 0;
char *rd_buf[16];
printf("%s: entered\n", argv[0]);
/* Open the device */
fd = open("/dev/hello1", O_RDWR);
if ( fd == -1 ) {
perror("open failed");
rc = fd;
exit(-1);
}
printf("%s: open: successful\n", argv[0]);
/* Issue a read */
rc = read(fd, rd_buf, 0);
if ( rc == -1 ) {
perror("read failed");
close(fd);
exit(-1);
}
printf("%s: read: returning %d bytes!\n", argv[0], rc);
close(fd);
return 0;
}
Я думаю, что мне нужно добавить вышеуказанный код в мою папку jni в виде исходного файла .c и вызвать функции из файла заголовка моего драйвера устройства из этого файла? Возможно, вы заметили, что приведенный выше код предназначен для драйвера тестового устройства с именем «hello1». Я собираюсь изменить имя на мой целевой драйвер устройства.