【发布时间】:2016-12-16 06:17:08
【问题描述】:
我在我的项目中使用“.so”文件,但它给出了以下错误“java.lang.UnsatisfiedLinkError: No implementation found for Boolean”,我已经尝试使用 Cygwin 重新创建“.so”并将其放在 jniLibs 文件夹中,并使用创建一个 jar 它,但它给出了同样的错误。
但相同的“.so”文件正在我现有的项目中工作。我尝试了很多方法,但它根本不起作用,我该怎么办?
com.amaze.filemanager E/art: No implementation found for boolean com.amaze.filemanager.scanner.SignatureLib.InitScanner(java.lang.String, java.lang.String)(试过 Java_com_amaze_filemanager_scanner_SignatureLib_InitScanner 和 Java_com_amaze_filemanager_scanner_SignatureLib_InitScanner__Ljava_lang_String_2Ljava_lang_String_2) 12-19 11:47:07.463 4579-4934/com.amaze.filemanager E/AndroidRuntime: 致命异常: Thread-5230 进程:com.amaze.filemanager,PID:4579 java.lang.UnsatisfiedLinkError: No implementation found for boolean com.amaze.filemanager.scanner.SignatureLib.InitScanner(java.lang.String, java.lang.String) (已尝试 Java_com_amaze_filemanager_scanner_SignatureLib_InitScanner 和 Java_com_amaze_filemanager_scanner_SignatureLib_InitScanner__Ljava_lang_String_2Ljava_lang_String_2) 在 com.amaze.filemanager.scanner.SignatureLib.InitScanner(本机方法) 在 com.amaze.filemanager.scanner.SignatureLib.InitializeScanner(SignatureLib.java:42) 在 com.amaze.filemanager.scanner.Signature.(Signature.java:62) 在 com.amaze.filemanager.ScanForVirusActivity$1.run(ScanForVirusActivity.java:66)
public class SignatureLib {
static {
System.loadLibrary("Signature");
}
SharedPreferencesUtils spu;
Context context;
public SignatureLib(Context context) {
this.context = context;
}
private native boolean InitScanner(String strDBPath, String dbPathTemp);
private native boolean DeInitScanner();
private native String checkVirus(String filepath);
private native boolean UploadFile(String FilePath, String DeviceID, String path);
private native boolean DownloadFile(String FilePath, String DeviceID, String path);
private native boolean IsGameApp(String AppName);
private native boolean SetUpdateInProgressStatus(boolean bStatus);
public boolean InitializeScanner(String strDBPath) {
spu = new SharedPreferencesUtils();
String packageName = context.getPackageName();
String dbPathTemp = "data/data/" + packageName + "/";
return InitScanner(strDBPath, dbPathTemp);
}
}
【问题讨论】:
-
发布您的完整堆栈跟踪和引发此错误的代码。
-
我把我的堆栈跟踪和代码,它给了我
return InitScanner(strDBPath, dbPathTemp)的错误,请帮助我
标签: android java-native-interface unsatisfiedlinkerror