Using the Android Renderscript v8 Support Library

July 7, 2014

Renderscript 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.*;
Joseph Kreiser
Joseph Kreiser
Software Developer

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
Business Development

Web app vs. mobile app: How to decide which is best for your business

March 26, 2024

When 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 more
How to approach legacy API development
Development

How to approach legacy API development

April 3, 2024

Legacy APIs are complex, often incompatible, and challenging to maintain. MichiganLabs’ digital product consultants and developers share lessons learned for approaching legacy API development.

Read more
MichiganLabs’ approach to product design: A strategic, problem-solving process
Design Team

MichiganLabs’ approach to product design: A strategic, problem-solving process

February 12, 2024

Product 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
View more articles