Android NDK-0.External Tool扩展工具

1. javap反汇编查看命令

配置如下:
在这里插入图片描述

 $JDKPath$\bin\javap.exe
-classpath $OutputPath$ -p -s $FileClass$
$ProjectFileDir$

必须在编译后生成了class文件夹后才能执行,执行效果:

"C:\Program Files\Android\Android Studio\jre\bin\javap.exe" -classpath C:\H\project\AndroidX\vatest\VATools\demo\VAToolsTest\app\build\intermediates\javac\debug\compileDebugJavaWithJavac\classes -p -s io.virtualapp.MainActivity
Compiled from "MainActivity.java"
public class io.virtualapp.MainActivity extends android.support.v7.app.AppCompatActivity {
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
  private android.os.Handler mHandler;
    descriptor: Landroid/os/Handler;
  public io.virtualapp.MainActivity();
    descriptor: ()V

  protected void onCreate(android.os.Bundle);
    descriptor: (Landroid/os/Bundle;)V

  void testHandlerPost();
    descriptor: ()V

  static android.os.Handler access$000(io.virtualapp.MainActivity);
    descriptor: (Lio/virtualapp/MainActivity;)Landroid/os/Handler;
}

Process finished with exit code 0

其中descriptor刚好描述了jni签名

2.javah生成native函数声明

配置如下:
在这里插入图片描述

$JDKPath$\bin\javah.exe
-classpath .;$ModuleSdkPath$\platforms\android-22\android.jar -jni -encoding $FileEncoding$ -d $ModuleFileDir$/src/main/jni/ $FileClass$
$ModuleFileDir$\src\main\java

执行效果:

"C:\Program Files\Android\Android Studio\jre\bin\javah.exe"
 -classpath .;C:\Users\hgy413\AppData\Local\Android\Sdk\platforms\android-22\android.jar 
 -jni -encoding UTF-8 -d 
 C:\H\project\AndroidX\vatest\VATools\demo\VAToolsTest\ndklib/src/main/jni/ com.lody.virtual.client.NativeEngine

Process finished with exit code 0

生成的.h文件位于 C:\H\project\AndroidX\vatest\VATools\demo\VAToolsTest\ndklib/src/main/jni/文件夹中。

如果使用 javah -jni没有指定 -encoding F i l e E n c o d i n g FileEncoding FileEncoding源文件的编码格式,可能会出现"错误:
编码GBK的不可映射字符"的错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值