为android活动类创建头文件

amj*_*amj 6 java java-native-interface android android-ndk android-activity

我已经为我的android Activity类添加了一些本机方法.现在我想为它创建头文件class.

从命令行创建头文件时出现以下错误.

C:\AndroidProjects\JniTest\bin\classes>javah -classpath .;
C:\adt-bundle-windows-x86\sdk\platforms\android.jar com.example.jnitest.JniTest
Error: cannot access android.app.Activity
class file for android.app.Activity not found
Run Code Online (Sandbox Code Playgroud)

基本上无法从jar访问活动类.

请指教.

Siu*_*ji- 1

命令为(在使用 Windows 时使用反斜杠 ( \),而不是正斜杠 ( ) ):/cmd

javah -bootclasspath $ANDROID_SDK_ROOT/platforms/android-17/android.jar -classpath bin/classes com.example.jnitest.JniTest
Run Code Online (Sandbox Code Playgroud)

您应该使用-bootclasspath而不是-classpath,因为android.jar重新实现了Java 类库

假设:

  • 您当前的目录是:C:\AndroidProjects\JniTest;
  • 您的 Android SDK 安装在$ANDROID_SDK_ROOT%ANDROID_SDK_ROOT%对于 Windows);
  • 您的目标 API 级别是android-17.

请相应地修改您的命令。