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

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

Solutions Collecting From Web of "Добавьте предварительно созданные .so файлы в проект с помощью Android Gradle plugin 0.7.3"

Итак, как вы можете добавить предварительно созданные файлы .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) Добавьте папку jniLibs в папку ../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) Создайте свой проект.

Я, наконец, получил этот код.

 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' } }