簡體   English   中英

如何在Android Studio中的.so文件中使用方法?

[英]How to use methods in .so file in Android Studio?

我收到了一個Eclipse項目,我已成功導入Android Studio以供使用。 唯一的問題是這個項目中的一個類調用項目附帶的.so文件中的某個函數。 我已經好幾天都無法打電話給那些方法了。

這堂課非常基礎:

public class Conversions {

  private static Conversions mCom=null;

  public static Conversions getInstance(){
    if(mCom==null){
        mCom=new Conversions();
    }
    return mCom;
  }

  public native int StdToIso(int itype,byte[] input,byte[] output);
  public native int IsoToStd(int itype,byte[] input,byte[] output);
  public native int GetDataType(byte[] input);
  public native int StdChangeCoord(byte[] input,int size,byte[] output,int dk);

  static {
    System.loadLibrary("conversions");
  }
}

錯誤消息是:

cannot resolve corresponding JNI function ....
No JNI_OnLoad found in /data/app-lib/com.example.fpdemo-1/libfgtitinit.so 0x4cc91c70, skipping init

本機方法位於我的幾個.so文件中:

jniLibs > armeabi > libconversions.so
jniLibs > armeabi > libfgtitinit.so

但由於某種原因,我無法讀取本機文件。 我認為這可能是構建問題或環境問題。 我的Gradle構建文件看起來像這樣:

android {
    compileSdkVersion 17
    buildToolsVersion "24.0.2"

    defaultConfig {
        applicationId "com.example.fpdemo"
        minSdkVersion 12
        targetSdkVersion 17
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
   compile 'com.android.support:support-v4:18.0.0'
   compile files('libs/fgtitdevice.jar')
}
public class Conversions {

  private static Conversions mCom=null;

  public static Conversions getInstance(){
    if(mCom==null){
        mCom=new Conversions();
    }
    return mCom;
  }

  public native int StdToIso(int itype,byte[] input,byte[] output);
  public native int IsoToStd(int itype,byte[] input,byte[] output);
  public native int GetDataType(byte[] input);
  public native int StdChangeCoord(byte[] input,int size,byte[] output,int dk);

  static {
    System.loadLibrary("conversions");
    System.loadLibrary("libfgtitinit");
  }
}

試着替換它,我希望它會起作用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM