在Android Studio 中加入jar 和.so 文件

前些日子eclipse忽然全方面罷工,因而換了使用Android Studio。
而後在使用過程當中,須要.jar和.so,遇到了些問題,下面總結下使用方法: java

一、加入jar拿百度定位SDK來講,按照百度官方的文檔完成配置完成後,由於Android Studio使用的是gradle,因此須要在項目的build.gradle中添加jar包的配置。(注意,這裏不是整個工做空間只是單個項目的build.gradle)打開後是下面這個樣子的: android

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.android.support:support-v4:13.0.+'
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 16
    }
}
而後在 dependencies{}中添加放置在libs文件夾下的名爲xxxx.jar導入:
dependencies {
    compile 'com.android.support:support-v4:13.0.+'
    compile files('libs/xxxx.jar')
}
這樣配置以後,百度的位置信息仍是一直沒有獲取到,最可能的緣由就是.so文件沒有加載成功
二、加入.so

(1)這個還與gradle版本有關係。在v0.3(能夠從上面dependencies{ classpath 'com.android.tools.build:gradle:0.5.+'}中看到個人版本是v0.5)下能夠在build.gradle中添加以下設置: git

task copyNativeLibs(type: Copy) {
    from(new File(project(':MyProject').buildDir, 'native-libs')) { include '**/*.so' }
    into new File(buildDir, 'native-libs')
}

tasks.withType(Compile) { compileTask -> compileTask.dependsOn copyNativeLibs }

clean.dependsOn 'cleanCopyNativeLibs'

tasks.withType(com.android.build.gradle.PackageApplicationTask) { pkgTask ->
    pkgTask.jniDir new File(buildDir, 'native-libs')
}
(注意:代碼中的':MyProject'必定要換成你的項目名字哦)
由於個人不是v0.3因此我也沒有得到想要的結果。但願使用v0.3的同窗驗證上面方法是否能成功。該方法GitHub地址: 地址
(2)0.5中我選擇的處理方法:
將全部須要使用的.so文件壓縮爲.zip文件(zip中的文件目錄結構爲: lib/armeabi/*.so)注意,必定要是這樣的路徑,lib不要寫成libs啊!而後將這個.zip文件重命名爲armeabi.jar文件(我用的是so.jar),將該jar包添加到項目的libs文件下。在項目build.gradle中的添加jar文件的dependencies中刪除已添加的jar,包括 compile 'com.android.support:support-v4:13.0.+' 這個。更改成:
dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}
雖然感受上面的方法有些小變態,可是解決問題纔是關鍵對不?
再詳細說一下:
最後的目錄結構
libs
^---|xxx.jar
^---|armeabi.jar
        ^---|lib
              ^---|armeabi

                     ^---|xxx.so github

剛開始使用ubuntu,IBus默認輸入法中特殊符號不會使用,只能形像到這裏,但願能看懂。回公司補個截圖。先湊合看。
最後:若是您看到該文,發現那裏有錯誤但願能指正,若是有更好的解決方法但願您能告知,互相學習嘛 。同時也但願能對遇到該類問題的程序猿(媛)有所幫助。

---生命不止,編碼不息。   ubuntu

相關文章
相關標籤/搜索