Добавьте предварительно созданные .so файлы в проект с помощью плагина Android Gradle 0.7.3

Ну, после долгого времени поддержка добавления предварительно созданных файлов .so в проект Android была добавлена ​​в плагин Android Gradle 0.7.3. Но в отличие от меня многие люди по-прежнему используют хак/обходной путь для добавления предварительно созданных файлов .so, то есть zip файлы с использованием определенной иерархии, а затем переименовываются в .jar. Ниже приведено пошаговое руководство по правильному добавлению файлов .so.

Ответ 1

Итак, как вы можете добавить готовые .so файлы?

1) Обновите свою студию android до 0.4.0
2) Замените "distributionUrl =" в gradle -wrapper.properties на "distributionUrl = http://services.gradle.org/distributions/gradle -1.9-all.zip"
3) Добавьте/замените раздел buildscript с расширением build build:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.3'
    }
} 

4) Add the jniLibs folder in ../src/main/

5) Добавьте в свой build.gradle следующее:

android {
    compileSdkVersion 18
    buildToolsVersion "18.1.0"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }

    productFlavors {
        x86 {
            ndk {
                abiFilter "x86"
            }
        }
        arm {
            ndk {
                abiFilters "armeabi-v7a", "armeabi"
            }
        }

    }


    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/notice.txt'
    }
}    

6) Создайте свой проект.

Ответ 2

Наконец-то я получил этот код.

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

repositories {
  mavenCentral()
}

android {

compileSdkVersion 19
buildToolsVersion "19.0.1"

defaultConfig {
    minSdkVersion 14
    targetSdkVersion 19
}

productFlavors {
    x86 {
        ndk {
            abiFilter "x86"
        }
    }
    arm {
        ndk {
            abiFilters "armeabi-v7a", "armeabi"
        }
    }
}
packagingOptions {
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/notice.txt'
}
}