第一步违帆,新建該目錄第岖,將so文件放入目錄下块差。
android studio中,有些so? 需要加上以下語句才會生效燎潮。具體情況具體分析
sourceSets.main{
jniLibs.srcDirs = ['src/jniLibs'];
}
全部配置文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
defaultConfig {
applicationId "com.example.lei.initsdkdemo"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
sourceSets.main{
jniLibs.srcDirs = ['src/jniLibs'];
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
compile files('libs/FaceMatch.jar')
compile files('libs/AS60xSDK.jar')
compile files('libs/idcard_sdk.jar')
}
最后喻鳄,在java代碼中加上這句。
static
{
System.loadLibrary("fctrlgp");
}
全文如下
packagecom.pwv.gpctrl;
/**
* 電源控制模塊跟啤,可以通過程序控制電源的開關(此功能需要設備電源管理模塊)
* 注:該類與libctrlgp.so配套使用诽表、該類的package路徑必須為:package com.pwv.gpctrl;
*
*/
public classfctrl
{
static
{
System.loadLibrary("fctrlgp");
}
public native intGetValue(intparamInt);
public native intSetValue(intparamInt1,intparamInt2);
/* 打開電源操作
SetValue(32, 1);
gpctrl.GetValue(32); */
/* 關閉電源操作
SetValue(32, 0);
gpctrl.GetValue(32); */
}
一般用這個
sourceSets {
main {
// 設置Jni so文件路徑 如果有jniLibs目錄就不需要設置
jniLibs.srcDirs = ['libs']
}
}
sourceSets.main{
jniLibs.srcDirs = ['src/jniLibs'];
}