Я новичок в NDK. Я проработал почти неделю, пытаясь понять, как он работает. Я видел много обучающих онлайн, но безрезультатно. Я всегда зацикливаюсь на этом одном шаге и не могу продвигаться дальше. Часть, в которой используется утилита javah. Первая часть кодирования - это содержимое MainActivity. Часть, которая следует за ней, - это то, что я делаю в терминале после создания моего проекта один раз. Сообщение об ошибке, которое я получаю, также показано здесь. Пожалуйста, скажите мне, что я могу сделать, чтобы исправить это. Я нахожусь на своем пути!Терминал в Android Studio показывает ошибку - Исключение в потоке «main» java.lang.IllegalArgumentException: Недействительное имя класса:
Android Студия версия - 1.3.1
package com.example.asish.ndk1;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
public native String callNative();
}
Microsoft Windows [Version 6.1.7601] Copyright (с) 2009 Microsoft Corporation. Все права защищены.
C: \ Users \ Asish \ AndroidStudioProjects \ NDK1> CD приложение
C: \ Users \ Asish \ AndroidStudioProjects \ NDK1 \ приложение> CD ЦСИ
C: \ Users \ Asish \ AndroidStudioProjects \ NDK1 \ app \ src> cd main
C: \ Users \ Asish \ AndroidStudioProjects \ NDK1 \ app \ src \ main> javah -d jni -classpath C: \ Program Files \ Android \ android-sdk1 \ platform \ android- 23 \ android.jar; C: \ Program Files \ Android \ android -sdk1 \ extras \ android \ support \ v7 \ appcompat \ libs \ android-support-v4.jar; C: \ Program Files \ Android \ android-sdk1 \ Extras \ Android \ поддержка \ v7 \ приложение Compat \ ЛИЭС \ Android-поддержка-v7-appcompat.jar; .... \ сборка \ промежуточные \ Classes \ Debug \ COM \ MyTest пакет com.example.asish.ndk1.MainActivity
Исключение в потоке "основной" java.lang.IllegalArgumentException: Недопустимое имя класса: файлы \ Android \ android-sdk1 \ platform \ android-23 \ android.jar; C: \ Program на com.sun.tools.javac.api.JavacTool.getTask (JavacTool.java:129) на com.sun.tools .javac.api.JavacTool.getTask (JavacTool.java:107) на com.sun.tools.javac.api.JavacTool.getTask (JavacTool.java:64) на com.sun.tools.javah.JavahTask.run (JavahTask.java:503) at com.sun.tools.javah.JavahTask.run (JavahTask.java:329) at com.sun.tools.javah.Main.main (Main.java:46)
Я где-то читал, что JDK 5 или 6 несовместим с Android SDK. Правда? У меня JDK 8. Это проблема? Должен ли я использовать более раннюю версию? –