2017-02-12 105 views
1

我嘗試包括.so文件到我的項目,這是我的gradle產出:
我在這條道路src\main\jnilibs和所有的.so文件到該路徑創建jnilibs文件夾。
文件夾結構如下:
Android Studio中無法檢測到我的lib

|--jnilibs 
|--|--armeabi 
|--|--|--.so Files 
|--|--armeabi-v7a 
|--|--|--.so Files 
|--|--mips 
|--|--|--.so Files 
|--|--x86 
|--|--|--.so Files 

,然後在gradle這個組代碼jniLibs.srcDirs,並添加compile fileTree,我gradle這個是財產以後是這樣的:

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 
    //....other code 
    sourceSets { 
     main { 
      jniLibs.srcDirs = ["src/main/jniLibs", "$buildDir/native-libs"] 
     } 
    } 

} 
task nativeLibsToJar(type: Jar, description: 'create a jar archive of the native libs') { 
    destinationDir file("$buildDir/native-libs") 
    baseName 'native-libs' 
    from fileTree(dir: 'src/main/jnilibs', include: '**/*.so') 
    into 'lib/' 
} 

tasks.withType(JavaCompile) 
     { 
      compileTask -> compileTask.dependsOn(nativeLibsToJar) 
     } 

dependencies { 
    compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar') 
    compile fileTree(include: ['*.jar','.so'], dir: 'libs') 
    compile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.3.0' 
} 

然後重建,現在我看到native-libs.jar文件在這條道路上:app\build\native-libs
所以,現在我想用此代碼將lib導入到我的項目中

import org.infradead.libopenconnect.LibOpenConnect; 

這一切,但現在我得到這個錯誤

cannot resolve symbol org.infradead 

我還安裝ndksdkcmakelldb和操作系統是windwos
什麼錯?我該如何解決這個問題?
親切的問候。

回答

0
  1. 嘗試使用File - >New - >Import module並加載所需的文件。
  2. 下一步轉到File - >Project Structure - >app - >Dependencies選項卡,並添加您在最近一步中添加的庫。
  3. 最重要的一步是,你需要將所有的庫從build文件夾移動到app - >src - >main - >libs文件夾。這對我有效。如果您沒有,則在main下創建libs文件夾。
+0

感謝您的回答,但導入mudule是不可能的!或者當我有沒有任何其他gradle只有lib文件?我也將所有庫從構建移動到庫,並在依賴添加他們手動,但我沒有得到任何不同的結果 – MrUnknow

相關問題