Using the Android Renderscript v8 Support Library
July 7, 2014Renderscript is a framework for computationally intensive tasks such as image processing that was added to Android in API level 11. To use this library in earlier versions of Android (API level 8+), a support library was added to the Android SDK Build Tools.
Adding the support library to your project
This can be accomplished through a few different build methods.
Add the renderscript-v8.jar file to your project files
Navigate to the renderscript directory in the latest build tools directory in your Android SDK directory:
(ANDROID SDK DIRECTORY)/build-tools/20.0.0/renderscript/lib/
(Replace the “20.0.0” with the current version of build tools that you are using.)
There you will find renderscript-v8.jar. Copy this jar file to the
(PROJECT BASE DIRECTORY)/libs
directory of your Android project, and then add it as a dependency for your specific IDE.
Through Maven
If you’re using Maven, then you are likely also using Maven Android SDK Deployer to create a local Maven repository for your Android SDK dependencies. However, you will need to use a fork of that project that creates an entry in your local Maven repo for the renderscript-v8 library.
You will need to edit these lines in the forked project’s pom.xml file to reflect what SDK platform version and build tools version you are using:
<android.sdk.platform>19</android.sdk.platform> <android.buildtools.version>19.0.3</android.buildtools.version>
After executing “mvn install” on the forked project, you can then create a dependency for the renderscript-v8 library by adding the following to your project’s pom.xml file:
<dependency> <groupId>android.support.v8</groupId> <artifactId>renderscript</artifactId> <version>v8</version> <type>jar</type> </dependency>
Through Gradle
If you are using Android Studio 0.5.+, add the following to the android-defaultConfig entry build.gradle file:
android { defaultConfig { renderscriptTargetApi 19 renderscriptSupportMode true } }
Native Library Files
Now that you’ve added the renderscript-v8 dependencies to your project, you must also add the native library files for each type of processor a device could have.
Navigate to the native library files for renderscript in your build tools directory:
(ANDROID SDK DIRECTORY)/build-tools/20.0.0/renderscript/lib/packaged
In here you will find “armeabi-v7a”, “mips”, and “x86” directories. Note that only devices that use one of these three CPU architectures are supported by the renderscript-v8 support library. Each directory contains a librsjni.so and a libRSSupport.so file. Copy all of these directories to the
(PROJECT BASE DIRECTORY)/libs
directory of your Android project.
Proguard Configuration
If you use Proguard in release builds of your app, then you will need to add the following entries to your proguard.cfg file to prevent Proguard from messing with the renderscript-v8 library and its native dependency libraries:
-keepclasseswithmembernames class * { native <methods>; } -keep class android.support.v8.renderscript.** { *; }
Using the Renderscript library
With all of that done, you can now use the renderscript library in your code with
import android.support.v8.renderscript.*;
Looking for more like this?
Sign up for our monthly newsletter to receive helpful articles, case studies, and stories from our team.
Web app vs. mobile app: How to decide which is best for your business
March 26, 2024When considering whether to develop a web app or a mobile app for your business, there’s honestly no definitive answer. But this article will help you make an informed decision that aligns with your business goals and sets you up for success.
Read moreHow to approach legacy API development
April 3, 2024Legacy APIs are complex, often incompatible, and challenging to maintain. MichiganLabs’ digital product consultants and developers share lessons learned for approaching legacy API development.
Read moreMichiganLabs’ approach to product design: A strategic, problem-solving process
February 12, 2024Product design, or UX design, is a strategic problem-solving process that leads to a valuable digital product. Learn what to expect when working with product designers for your custom software.
Read more