ScriptC_ "nombre" no se genera después de crear un archivo .rs (en Android Studio con Gradle)

Acabo de comenzar renderscript en Android Studio. Cuando hago un archivo .rs, no se genera ni la clase ScriptC_DS ni un archivo .bc. He leído que se supone que se genera automáticamente una vez que se guarda el archivo .rs, así que no estoy seguro de lo que está mal.

DS.rs

#pragma version(1) #pragma rs java_package_name(com.example.DSing) void root(){ } 

construir un gradiente

  apply plugin: 'com.android.application' android { compileSdkVersion 20 buildToolsVersion "20.0.0" defaultConfig { applicationId "com.example.DSing" minSdkVersion 16 targetSdkVersion 20 versionCode 1 versionName "1.0" renderscriptTargetApi 18 renderscriptSupportMode true } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) } 

Actualmente, la clase MainActivity no tiene nada (aparte de los valores predeterminados generados automáticamente), pero cuando intento crear ScriptC_DS privado en su interior, recibo un mensaje que dice "No se puede resolver el símbolo ScriptC_DS". Actividad principal

 package com.example.DSing import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.support.v8.renderscript.*; public class Main extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } private ScriptC_DS test; @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } } 

Pregunta: ¿Qué estoy haciendo mal?

El problema que está teniendo es porque el diseño del proyecto predeterminado en Android Studio es diferente al de Eclipse. Se puede ver esto desde el diseño app/src/main/java . La pieza poco documentada es que RenderScript (y AIDL) ahora obtienen sus propios directorios en el conjunto de origen en lugar de ser arrojados al código fuente de Java. Mueva su código a app/src/main/rs y Android Studio lo construirá correctamente y generará el archivo .bc.

La respuesta de Larry es correcta, todo lo que necesitas hacer es

  1. agregue estas dos configuraciones en su gradle config renderscriptTargetApi 18 renderscriptSupportModeEnabled true

  2. crear carpeta para path /src/main/rs

reconstruir su proyecto, entonces usted puede conseguir ScriptC_xxx para usar.

  • Google Play Services GCM 10.0.1 pide "actualizar" a la versión original
  • Uso de Proguard para eliminar clases no utilizadas en la biblioteca de Servicios de Google Play
  • Cómo personalizar el nombre de archivo APK para los sabores de producto?
  • Android Studio - Construye un proyecto Android con una biblioteca de Android que depende de otra Android Library
  • Configurando res srcDirs para androidTest sourceSet
  • Cómo activar Jack (Java Android Compiler Kit) en el android studio
  • ¿Cómo puedo utilizar JARs externos en un proyecto de Android?
  • Com.android.build.transform.api.TransformException con los servicios de google play de android
  • Intentando crear un proyecto después de agregar la carpeta values-21 y está mostrando error
  • Java.io.IOException: com.android.jack.api.v01.CompilationException: Error al compilar
  • El caché de dependencias de Gradle puede estar dañado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.