Cómo cambiar el directorio libs en Gradle?

Quiero integrar Zbar en mi aplicación pero no puedo entender cómo lograr esto usando el nuevo Android Studio.

He mirado a través del ejemplo y he copiado sobre el código sin ningún problema. El problema que estoy teniendo es añadir las librerías a mi proyecto no puedo parecen averiguar cómo hacerlo. ¿Podría alguien llevarme a través de él?

En realidad, @ Michael respuesta es correcta, también es obsoleto. Ahora, usar gradle todo lo que necesitas hacer es agregar las líneas abajo en el archivo build.gradle:

android { ... sourceSets { main.jniLibs.srcDirs = ['libs'] test.jniLibs.srcDirs = ['libs'] } } 

O poner directamente sus bibliotecas .so en:

Src / main / jniLibs

De esta forma, al construir su aplicación o biblioteca, las bibliotecas jni se están copiando en el archivo .jar / .aar de destino.

No estoy muy familiarizado con IntelliJ o Gradle, pero lo he descubierto. Utilicé ZBarAndroidSDK-0.2 .

  1. Copie el contenido de la libs/ carpeta SDK de ZBar en la librería libs/ carpeta de su proyecto.
  2. Modifique su build.gradle (ver más abajo) para asegurarse de que el jar y libs nativos están incluidos en su APK.
  3. Para que IntelliJ tenga conocimiento de ZBar, agregue zbar.jar en la estructura del proyecto. Para ello, vaya a File > Project Structure > Libraries > + Sign > Java y busque zbar.jar con el selector de archivos. Añadir a su proyecto.

Agregue lo siguiente a su build.gradle (asegurándose de mantener cualquier otra dependencia que tenga):

 dependencies { compile files('libs/android-support-v4.jar') compile files('libs/zbar.jar') } task copyNativeLibs(type: Copy) { from(new File('libs')) { include '**' } into new File(buildDir, 'native-libs') } tasks.withType(Compile) { compileTask -> compileTask.dependsOn copyNativeLibs } clean.dependsOn 'cleanCopyNativeLibs' tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask -> pkgTask.jniDir new File(buildDir, 'native-libs') } 

Mi build.gradle se basa en esta esencia: https://gist.github.com/khernyo/4226923 .

Si su uso gradle 1.1.0 entonces usted debe hacer algunas modificaciones a @ Michael respuesta. Aquí está el código revisado del archivo gradle que funciona para mí.

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.0.0' compile files('libs/zbar.jar') } task copyNativeLibs(type: Copy) { from(new File('libs')) { include '**' } into new File(buildDir, 'native-libs') } tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn copyNativeLibs } clean.dependsOn 'cleanCopyNativeLibs' tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask -> pkgTask.jniFolders = new HashSet<File>() pkgTask.jniFolders.add(new File(buildDir, 'native-libs')) } 

He construido el ZBarAndroidSDK-0.2 en Android Studio 2.0 simplemente abriendo el proyecto de CameraTest desde la carpeta de ejemplo.

Se reestructuró el proyecto de eclipse a Android Studio automáticamente. Eso es.

  • ZBAR android ARM 64 no pudo encontrar "libiconv.so"
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.