2016-11-05 59 views
0

每當我將我的項目構建到我的手機時(Android 4.4.2),都存在問題。AllJoyn彙編導致UnsatisfiedLinkError

我得到UnsatisfiedLinkError,似乎alljoyn庫尚未加載。 我唯一添加的是主要活動的onCreate()方法之前的static { System.loadLibrary("alljoyn_java"); }

這裏是供參考的build.gradle文件:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 24 
    buildToolsVersion "24.0.3" 
    defaultConfig { 
     applicationId "secret.secret.secret" 
     minSdkVersion 19 
     targetSdkVersion 24 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile files('src/main/java/jniLibs/alljoyn.jar') 
    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:24.2.1' 
    testCompile 'junit:junit:4.12' 
} 

Project Directory Android Studio version

也許我用錯了Android SDK中。可能是什麼問題呢?謝謝您的幫助!

回答

0

我按照說明here,除了我把jar文件放在app/libs/文件夾中。

我在這裏看到的一個好處是,jar文件可以在任何地方,但.so文件必須在app/src/main/jniLibs/armeabi/。我不知道背後的原因 - 有人能解釋爲什麼嗎?

0

app/src/main/jniLibs/armeabi/位置是默認位置。您可以指定一個自定義位置添加:

sourceSets.main { 
     jniLibs.srcDir 'your/custom/location' 
} 

android { 
    ... 
}