![](/img/trans.png)
[英]How to use android.support.v8.renderscript for renderscript
[英]How to use the Renderscript Support Library with Gradle
使用Android Studio:
添加以下值build.gradle
用于安卓插件的gradle + v0.14
android {
...
defaultConfig {
...
renderscriptTargetApi 19
renderscriptSupportModeEnabled true
}
...
}
对于较旧版本的android gradle插件v0.13.3及更低版本
android {
...
defaultConfig {
...
renderscriptTargetApi 19
renderscriptSupportMode true
}
...
}
完成后,请使用android.support.v8.renderscript.
您应用中任何位置。 库jar和二进制文件自动包含在内。
Gradle for Android现在支持Renderscript v8,而您的构建脚本中只有2行。 参见Austyn Mahoney的回答 。 保留原始答案用于历史目的。
旧答案:
Gradle支持本机RS编译,但不支持RS支持库。 原因是与任何其他支持库相比,RS支持库都非常复杂。 RS支持库实际上是Java支持库,支持该Java库的一组本机库,用于您编译的每个脚本的其他本机库,以及用于生成标准LLVM位代码和脚本的本机库的备用工具链。 目前,只有ADT和Ant支持。 Gradle还不存在。
但是,已经可以使用Gradle的RS支持库的某些部分。 如果要使用RS内部函数,则可以链接支持库的Java部分(sdk / build-tools / android-4.3 / lib / renderscript / renderscript-v8.jar)和本机组件(sdk / build-tools /android-4.3/lib/renderscript/packaged/ <arch> / *。so),然后您会被设置。
我知道Gradle在不久的将来会对支持库提供支持,但是我没有可以共享的坚定的ETA。
按照Tim的提示,我可以在Gradle上获得v8支持,这是我的项目布局:
我创建了libs文件夹,并复制了SDK文件夹下提到的Tim的文件。 这是我的build.gradle更改:
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'));
}
}
之后,我可以导入android.support.v8.renderscript。*并使用内部函数。
我知道已经解决了这个问题,但是我想与Build-tools 21.1.0一起分享Android-Studio和Renderscript支持的经验。 这是我在构建系统变更日志第26-32行中发现的:
- 重命名了一些属性以使事情更加一致。
- BuildType.runProguard-> minifyEnabled
- BuildType.zipAlign-> zipAlignEnabled
- BuildType.jniDebugBuild-> jniDebuggable
- BuildType.renderscriptDebug-> renderscriptDebuggable
- ProductFlavor.renderscriptSupportMode-> renderscriptSupportModeEnabled
- ProductFlavor.renderscriptNdkMode-> renderscriptNdkModeEnabled
如此一来,他们已经更改了属性名称。 我刚刚更新了build.gradle以使用:
renderscriptSupportModeEnabled true
现在,这些库已添加到项目中,您无需手动将它们添加到您的lib文件夹中。
在撰写本文时,Gradle Android插件中有实验性支持。 有关更多信息,请参见此测试项目 。
如果有人对如何将其打包为可分发的二进制.jar(例如,用于部署到Maven存储库)感兴趣,则可以将此文件结构用于.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>
对于build.gradle,在您的依赖项clojure中添加: compile 'android:renderscript:19.0.3'
。
PS:renderscript库无法在armv6(armeabi)上运行,因此请确保Build.CPU_ABI
是armeabi-v7a,mips或x86。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.