javap -s 查看java方法簽名


   工程先用eclipse生成class目錄,轉到class目錄下執行: javap -s com.example.hellojni.MainActivity

Compiled from "MainActivity.java"
public class com.example.hellojni.MainActivity extends android.app.Activity {
  static {};
    Signature: ()V

  public com.example.hellojni.MainActivity();
    Signature: ()V

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

  public boolean onCreateOptionsMenu(android.view.Menu);
    Signature: (Landroid/view/Menu;)Z

  public native java.lang.String stringFromJNI(); //native 方法
    Signature: ()Ljava/lang/String;  //簽名

  public native int max(int, int); //native 方法
    Signature: (II)I    //簽名
}

 

最后附上com/example/hellojni/MainActivity.java代碼:

 1 package com.example.hellojni;
 2 import android.os.Bundle;
 3 import android.app.Activity;
 4 import android.util.Log;
 5 import android.view.Menu;
 6 import android.widget.TextView;
 7 
 8 public class MainActivity extends Activity {
 9     @Override
10     protected void onCreate(Bundle savedInstanceState) {
11         super.onCreate(savedInstanceState);
12         setContentView(R.layout.activity_main);
13         TextView  tv = new TextView(this);
14         tv.setText( stringFromJNI() );
15         setContentView(tv);        
16         Log.d("JNI", "max = " + max(10, 100));
17     }
18     @Override
19     public boolean onCreateOptionsMenu(Menu menu) {
20         getMenuInflater().inflate(R.menu.main, menu);
21         return true;
22     }
23     
24     public native String  stringFromJNI();
25     public native int max(int a,int b); 
26     static {
27         System.loadLibrary("hellojni");
28     }
29 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM