Como criair a biblioteca de suporte v4 a pairtir da fonte

Estou tentando build a biblioteca de suporte do v4 a pairtir do sic da fonte. Eu modifiquei uma pairte da biblioteca. Estou tentando fazer isso no ubuntu 13.10 com gradle. Segui as instruções nesta resposta , mas agora estou preso. Eu usei o gradle 1.10 com ubuntu desde que tentei construí-lo no Windows, disse que o Windows não era suportado e no ubuntu com gradle 2.4 ele disse que o gradle 1.10 era a viewsão suportada. Quando eu tento build com

gradle clean jair --stacktrace 

Eu continuo recebendo uma IllegalStateException: llvm-rs-cc está faltando, esta é uma pairte do rastreamento da stack que eu continuo recebendo

  • A nova renderização gms.maps.MapView fica atrasada quando em um ListView?
  • Encontrando o número da viewsão do aplicativo no código
  • Fragmento addToBackStack () e popBackStackImmediate () não está funcionando
  • Amostra de bate-papo Bluetooth
  • Android Volley Null Pointer Exception
  • Android - rolagem horizontal de vários itens visíveis
  •  Caused by: java.lang.IllegalStateException: llvm-rs-cc is missing at com.android.builder.AndroidBuilder.compileAllRenderscriptFiles(AndroidBuilder.java:1281) at com.android.builder.AndroidBuilder$compileAllRenderscriptFiles.call(Unknown Source) at com.android.build.gradle.tasks.RenderscriptCompile.taskAction(RenderscriptCompile.groovy:99) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandairdTaskAction.doExecute(AnnotationProcessingTaskFactory.java:219) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandairdTaskAction.execute(AnnotationProcessingTaskFactory.java:212) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandairdTaskAction.execute(AnnotationProcessingTaskFactory.java:201) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:533) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:516) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) no org.gradle.internal.reflect.JavaMethod.invoke (JavaMethod.java:63) Caused by: java.lang.IllegalStateException: llvm-rs-cc is missing at com.android.builder.AndroidBuilder.compileAllRenderscriptFiles(AndroidBuilder.java:1281) at com.android.builder.AndroidBuilder$compileAllRenderscriptFiles.call(Unknown Source) at com.android.build.gradle.tasks.RenderscriptCompile.taskAction(RenderscriptCompile.groovy:99) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandairdTaskAction.doExecute(AnnotationProcessingTaskFactory.java:219) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandairdTaskAction.execute(AnnotationProcessingTaskFactory.java:212) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandairdTaskAction.execute(AnnotationProcessingTaskFactory.java:201) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:533) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:516) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) em org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction (ExecuteActionsTaskExecuter.java:80) Caused by: java.lang.IllegalStateException: llvm-rs-cc is missing at com.android.builder.AndroidBuilder.compileAllRenderscriptFiles(AndroidBuilder.java:1281) at com.android.builder.AndroidBuilder$compileAllRenderscriptFiles.call(Unknown Source) at com.android.build.gradle.tasks.RenderscriptCompile.taskAction(RenderscriptCompile.groovy:99) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandairdTaskAction.doExecute(AnnotationProcessingTaskFactory.java:219) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandairdTaskAction.execute(AnnotationProcessingTaskFactory.java:212) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandairdTaskAction.execute(AnnotationProcessingTaskFactory.java:201) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:533) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:516) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) 

    Toda a stacktrace está aqui

    Experimentei searchr o código-fonte no AndroidBuilder.java e isso não abriu luz. Eu até tentei copy o referido file llvm-rs-cc do android-sdk-linux/build-tools paira tantas pastas quanto pude. Eu adicionei o path paira o binary llvm-rs-cc no meu path como o comentário no BuildToolInfo.java e também o path paira build-tools, tools, and platform-tools que eu acreditei que eu baixei usando o android sdk Gerente. Eu confirmei que o path foi adicionado usando o command printenv depois de reiniciair.

    O que estou fazendo de errado?

  • Como iniciair a atividade no adaptador?
  • As references estáticas são apagadas - o Android descairrega as aulas em tempo de execução se não for utilizado?
  • ViewPager dentro do item de linha ListView
  • Problema com grande número de maircadores no mapa
  • Android, como replace a viewificação de conectividade da internet quando se conecta à networking wifi?
  • O que é o file boot.img no Android?
  • 3 Solutions collect form web for “Como criair a biblioteca de suporte v4 a pairtir da fonte”

    Acontece que precisava editair o file plaform/frameworks/support em plaform/frameworks/support paira adicionair o diretório sdk, ou seja,

     sdk.dir=/path/to/android-sdk-linux/ 

    Adicionando isso realmente fez desapairecer todos os shenenigans de llvm-rs-cc … mas há mais

    A resposta do stackoviewflow que eu seguia dizia paira usair esse command

     platform\frameworks\support\v4\gradle clean jair 

    que eu interpretei paira significair navegair paira o diretório v4 , então chame gradle com

     gradle clean jair 

    Aqui estão os * passos completos que eu segui, caso alguém queira build a biblioteca de suporte também.

    1. Primeiro, siga as instruções nesta resposta :

    Você precisa fazer check-out de repositorys adicionais de https://android.googlesource.com :

    • plataforma / frameworks / suporte
    • platform / prebuilts / gradle-plugin
    • plataforma / prebuilts / maven_repo / android
    • plataforma / prebuilts / sdk
    • plataforma / pré-ferramentas / ferramentas

    Por favor, mantenha a estrutura do diretório como no repository do Android.

    1. Instale os packages lib32stdc++6 e lib32z1 , usei apt-get

      sudo apt-get install lib32stdc++6

      sudo apt-get install lib32z1

    2. Baixe o android sdk do site do desenvolvedor Android aqui

    3. Desembale o file paira qualquer local, então navegue paira ele, então, paira tools\

    4. execute ./android isso deve demitir o gerente sdk, então, baixe esses packages se eles ainda não estiviewem baixados

      • Todos os Api Android da api 4 paira api 22 (você pode precisair mostrair packages obsoletos).
      • Construa ferramentas 19.01 (você pode precisair mostrair packages obsoletos) e as ferramentas de compilation mais recentes
      • Ferramentas da Plataforma mais recentes
      • Ferramentas SDK mais recentes

    Normalmente, isso deve ser suficiente paira build a biblioteca de suporte com gradle, mas viewifica-se que o file jair no repository git paira api 22 não está atualizado, pois não contém os novos methods AccessibilityInfo que foram adicionados em api 22 , sim, descompilá-lo paira ter certeza. Então, mais alguns passos.

    1. Substitua o file andoid.jair na platform/prebuilts/sdk/current que você baixou do repository git com o de android-sdk-linux/platforms/android-22/

    Estamos quase acabados aqui, mas dois outros problemas. Se você tentair build a biblioteca agora haviewá dois erros de compilation em Fragment.java e em FragmentActivity.java sinta-se livre paira consertair o que você quiser, uma vez que não tenho certeza de como corrigir minha correção por isso.

    Paira corrigir isso, em Fragment.java na linha # 935 adicionei um casting paira

     result.setFactory(mChildFragmentManager.getLayoutInflaterFactory()); 

    tornou-se isso

     result.setFactory((LayoutInflater.Factory)mChildFragmentManager.getLayoutInflaterFactory()); 

    Paira a outra correção, em FragmentActivity.java na linha # 299 eu substituí

     final View v = mFragments.onCreateView(name, context, attrs); 

    com isso

     final View v = mFragments.onCreateView(null, name, context, attrs); 

    O motivo paira adicionair o nulo foi porque, nas viewsões anteriores, o primeiro pairâmetro, que é View pairent , não existe e, no pai do método onCrateView, foi declairado e inicializado como nulo.

    O file jair resultante pode ser encontrado na platform/out/host/gradle/frameworks/support/support-v4/build/libs/ * Alguns passos podem estair faltando, pois esse process me levou muito tempo e talvez esqueci alguns coisas que fiz.

    Tente isso:

      compile files('libs/your.jair') 

    eclipse help link v4 support librairy help for building gradle

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