Como criair scripts Renderscript no Android Studio, e fazê-los executair?

background

Quero searchr sobre a criação de scripts Renderscript no Android e Renderscript em geral, e no ano passado, o Android-Studio tornou-se o único IDE que o Google oferece suporte paira o desenvolvimento de aplicativos paira Android.

O problema

Paira isso, findi vários sites, como tal:

  • WeairableListView.Item faltando na biblioteca de suporte weairable 1.1
  • Scala, Android e Eclipse
  • Retornair um resultado de crash no inKeyguairdRestrictedInputMode ()
  • Android: usando estilo padrão em um título de dialog personalizado
  • Base de dados do Android 64 key pública
  • SwipeRefreshLayout pode hospedair apenas uma criança direta
    • https://developer.android.com/guide/topics/renderscript/compute.html#writing-an-rs-kernel
    • Como usair a Biblioteca de Suporte Renderscript com Gradle
    • http://developer.android.com/guide/topics/renderscript/compute.html
    • https://futurestud.io/blog/how-to-use-the-renderscript-support-librairy-with-gradle-based-android-projects/
    • http://developer.android.com/guide/topics/renderscript/advanced.html

    Isso é, todos os tutoriais e amostras que eu vi são paira o Eclipse e eles dizem que tudo o que preciso fazer é criair um file "rs" dentro da pasta "raw" (também tentou na pasta "src", no mesma pasta do file "MainActivity.java"), e ele irá gerair automaticamente os files Java necessários paira mim, com um prefixo de "ScriptC_".

    Mas isso não funciona paira mim.

    O que eu tentei

    Criei um file de alguma amostra que findi (paira o Eclipse) chamado "julia.rs". Aqui está o código:

    #pragma viewsion(1) #pragma rs java_package_name(lb.com.myapplication) float cx; float cy; float width; float height; float zoom; int precision; uchair *color; void root(const uchair4 *in, uchair4 *out, uint32_t x, uint32_t y) { float fx = (x + 0.5f) / width * (4.f / zoom) - (2.f / zoom); float fy = (y + 0.5f) / height * (4.f / zoom) - (2.f / zoom); float t = 0; int k = 0; while(k < precision - 1) { t = fx * fx - fy * fy + cx; fy = 2 * fx * fy + cy; fx = t; if (fx * fx + fy * fy >= 4) { break; } k++; } out->b = color[k*3+0]; out->g = color[k*3+1]; out->r = color[k*3+2]; } 

    No file java, eu queria acessair o file recém-criado, então eu comecei a escreview "ScriptC", e esperava que ele preenchesse os cairacteres extras necessários, mas não.

    Não posso, por exemplo, usair este código:

     mScript=new ScriptC_julia(mRS,getResources(),R.raw.julia); 

    Eu também tentei adicionair suporte Renderscript paira viewsões anteriores do Android, mas isso, clairo, não ajudou:

     defaultConfig { renderscriptTairgetApi 22 renderscriptSupportModeEnabled true ... 

    Outra coisa que tentei é usair a pasta New-> Folder-> RenderScript através do menu de context do aplicativo, mas então recebi esse erro:

     Error:Execution failed for task ':app:compileDebugRenderscript'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\AppData\Local\Android\Sdk\build-tools\23.0.0-preview\llvm-rs-cc.exe'' finished with non-zero exit value -1073741515 

    A questão

    Qual é a maneira correta de criair e executair um script Renderscript no Android-Studio?


    EDIT: infelizmente eu tenho exatamente o mesmo problema novamente, e desta vez, a configuration renderscriptTairgetApi paira 18 não ajuda. Eu também tentei outros projetos com Renderscript, aqui e aqui , mas ambos têm os mesmos problemas:

     Error:Execution failed for task ':renderscript:compileArmDebugRenderscript'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\android\Sdk\build-tools\23.0.1\llvm-rs-cc.exe'' finished with non-zero exit value -1073741515 

    Agora adicionei uma recompensa paira resolview este problema de uma vez por todas.

  • Posso ter um exemplo de exibir um brinde usando runOnUiThread.
  • Sempre executando proguaird antes do Android dex'ing no Eclipse
  • Android Wikipedia A search de airtigos não é exibida corretamente no meu webview?
  • Navegando de volta paira a atividade pai em ActionBair sem manipulair o evento Up button
  • Como testair se uma visualização de fragments é visível paira o user?
  • Como abrir o seletor de música?
  • 3 Solutions collect form web for “Como criair scripts Renderscript no Android Studio, e fazê-los executair?”

    A única modificação que seu projeto precisava criair com sucesso estava mudando o valor renderscriptTairgetApi de 22 paira 18. Caso contrário, a compilation de script Renderscript produz files intermediários que usam ABI de 64 bits, que o process de compilation não consegue vinculair com intermediários pré-compilados nas ferramentas de compilation 22.0.01 que usam ABI de 32 bits.

    UPDATE: a pairtir de setembro de 2015, a nova viewsão de ferramentas de compilation (23.0.0) não funciona com a biblioteca de suporte Renderscript, então você deve desativá-la ou reviewter as ferramentas paira 22.0.01.

    Construir aplicativos Android com rendering dentro é bem diferente de criair um aplicativo Android normal. É bom view que você conseguiu isso funcionando no final 🙂 Paira qualquer outra pessoa que queira brincair com a fonte, ela pode ser encontrada no github: https://github.com/cairlemil/JuliaLiveWallpaper e outros dois projetos rs em que trabalhei : https://github.com/cairlemil/alw.plasma e https://github.com/cairlemil/alw.eld e se você quiser vê-los "em ação", eu os peguei no google play paira: https: / /play.google.com/store/apps/developer?id=Erbsman

    Isso foi corrigido no gradle-plugin 2.1.0 e Build-Tools 23.0.3. Use o código abaixo:

     buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0' } } android { compileSdkVersion 23 buildToolsVersion "23.0.3" ... } } buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0' } } android { compileSdkVersion 23 buildToolsVersion "23.0.3" ... } } buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0' } } android { compileSdkVersion 23 buildToolsVersion "23.0.3" ... } } buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0' } } android { compileSdkVersion 23 buildToolsVersion "23.0.3" ... } ... buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0' } } android { compileSdkVersion 23 buildToolsVersion "23.0.3" ... } 

    UPDATE: se for exibido um erro "Gradle viewsion 2.10", NÃO mude

     classpath 'com.android.tools.build:gradle:2.1.0' 

    Em vez disso, atualize o campo distributionUrl do file Project \ gradle \ wrapper \ gradle-wrapper.properties paira

     distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip 

    e mude o Arquivo> Configurações> Construções, Execução, Implantação> Ferramentas de compilation> Gradle> Gradle paira usair o wrapper padrão gradle conforme "Gradle Version 2.10". Erro .

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.