android - library - Cómo usar la Biblioteca de soporte de Renderscript con Gradle
com.android.support:design 26 (6)
Existe soporte experimental en el complemento de Gradle para Android en el momento de escribir esto. Vea este proyecto de prueba para más información.
¿Es posible usar la biblioteca de soporte de Renderscript con Gradle? Si es así, ¿cómo lo incluye en su proyecto?
Sé que esto ya fue respondido, pero pensé que compartiría mi experiencia con Android-Studio y la compatibilidad con Renderscript con Build-tools 21.1.0. Esto es lo que encontré en las líneas de changelog 26-32 del sistema de construcción:
- Renombrado algunas propiedades para hacer las cosas más consistentes.
- BuildType.runProguard -> minifyEnabled
- BuildType.zipAlign -> zipAlignEnabled
- BuildType.jniDebugBuild -> jniDebuggable
- BuildType.renderscriptDebug -> renderscriptDebuggable
- ProductFlavor.renderscriptSupportMode -> renderscriptSupportModeEnabled
- ProductFlavor.renderscriptNdkMode -> renderscriptNdkModeEnabled
Como puede ver, han cambiado el nombre de las propiedades. Acabo de actualizar build.gradle para usar:
renderscriptSupportModeEnabled true
Ahora las bibliotecas se agregan al proyecto y no es necesario que las agregue manualmente a su carpeta lib.
Si alguien está interesado en cómo empaquetar esto como un .jar binario distribuible (por ejemplo, para implementarlo en un repositorio maven), puede usar esta estructura de archivos para su .jar.
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>android</groupId>
<artifactId>renderscript</artifactId>
<version>19.0.3</version>
<description>Artifactory auto generated POM</description>
</project>
Para build.gradle, agregue: compile ''android:renderscript:19.0.3''
a sus dependencias clojure.
PD: La biblioteca de renderscript no se ejecutará en armv6 (armeabi), así que asegúrese de que Build.CPU_ABI
sea armeabi-v7a, mips o x86.
Siguiendo la sugerencia de Tim, pude obtener soporte para v8 trabajando con Gradle, aquí está el diseño de mi proyecto:
Creé la carpeta libs y copié los archivos que Tim mencionó en la carpeta SDK. Y aquí está mi build.gradle changes:
dependencies {
compile files(''libs/renderscript-v8.jar'')
}
android {
tasks.withType(com.android.build.gradle.tasks.PackageApplication) {
pkgTask -> pkgTask.jniFolders = new HashSet<File>();
pkgTask.jniFolders.add(new File(projectDir, ''libs''));
}
}
Después de eso, puedo importar android.support.v8.renderscript. * Y usar los intrínsecos.
Usando Android Studio:
Agregue los siguientes valores a build.gradle
for android gradle plugin v0.14 +
android {
...
defaultConfig {
...
renderscriptTargetApi 19
renderscriptSupportModeEnabled true
}
...
}
Para versiones anteriores del complemento android gradle v0.13.3 y siguientes
android {
...
defaultConfig {
...
renderscriptTargetApi 19
renderscriptSupportMode true
}
...
}
Una vez hecho esto, use android.support.v8.renderscript.
en cualquier lugar de tu aplicación El frasco de la biblioteca y los binarios se incluyen automáticamente.
Gradle para Android ahora tiene soporte para Renderscript v8 con solo 2 líneas en su script de compilación. Vea la respuesta de Austyn Mahoney . Manteniendo la respuesta original para un propósito histórico.
Vieja respuesta:
Gradle admite la compilación nativa de RS, pero no la biblioteca de soporte de RS. La razón es que la biblioteca de soporte de RS es enormemente complicada en comparación con cualquier otra biblioteca de soporte. La biblioteca de soporte de RS es en realidad una biblioteca de soporte de Java, un conjunto de bibliotecas nativas que respaldan Java lib, bibliotecas nativas adicionales para cada script que compila y una cadena de herramientas alternativa para generar tanto el código de bits LLVM estándar como las bibliotecas nativas para sus scripts. En este momento, solo ADT y Ant lo admiten; Gradle aún no está allí.
Sin embargo, es posible usar algunas partes de la biblioteca de soporte RS de Gradle. Si desea utilizar los intrínsecos de RS, puede vincular la parte de Java de la biblioteca de soporte (sdk / build-tools / android-4.3 / lib / renderscript / renderscript-v8.jar) y los componentes nativos (sdk / build-tools /android-4.3/lib/renderscript/packaged/ <arch> / *. so), y luego se establecerá.
Sé que el soporte de Gradle para la biblioteca de soporte llegará en algún momento en un futuro no muy lejano, pero no tengo una ETA firme que pueda compartir.