Configurer res srcDirs pour androidTest sourceSet

J'aimerais inclure des ressources à compiler uniquement pour les tests.

J'ai ce qui suit dans le fichier build.gradle de mon module d'application:

  • Comment récupérer un noeud spécifique à partir de la base de données FireBase dans Android
  • Comment désactiver ou activer le balayage de votre navigateur dans Android
  • Comment ajouter des diviseurs et des espaces entre les éléments dans RecyclerView?
  • Comment démarrer une activité différente avec un peu de retard après avoir appuyé sur un bouton dans Android?
  • Android ANR SurfaceView
  • Comment ajouter un événement dans Google Calendar à partir de l'activité?
  • android { ... sourceSets { androidTest { java.srcDirs = ['src/androidTest/java'] res.srcDirs = ['src/androidTest/res'] } } } 

    Le chemin java srcDire est correct, mais si j'essaie d'obtenir une ressource du répertoire Res dans androidTest, la ressource ne peut pas être trouvée.

    Comment puis-je avoir des ressources dans le répertoire androidTest qui ne sont inclus que pour les tests?

  • Android: la méthode View.onClick () est-elle invoquée sur le thread UI principal?
  • Dépassement CSS et problème de positionnement absolu sur le navigateur Android
  • La vue centrale Android dans FrameLayout ne fonctionne pas
  • Unity3d intégration avec Android
  • Aucun constructeur vide lors de la création d'un service
  • Défaut de chargement de l'annonce: 3
  • 2 Solutions collect form web for “Configurer res srcDirs pour androidTest sourceSet”

    Il s'avère que vous n'avez pas besoin de modifier quoi que ce soit du fichier build.gradle par défaut.

    Le truc est que le fichier R.java généré R.java est différent pour les ressources dans androidTest .

    Si l'instruction d'importation pour R quelque part dans votre ensemble source principal ressemble à:

     import com.mycompany.myappname.R; 

    La déclaration d'importation pour R dans un fichier de test devrait ressembler à:

     import com.mycompany.myappname.test.R; 

    Si vous avez un type de construction où vous avez défini applicationIdSuffix , vos ressources src/androidTest/res seront sur <applicationId><applicationIdSuffix>.test.R !!!!! TRÈS IMPORTANT !!!

    c'est à dire

     applicationId "com.example.my.app" buildTypes { debug { applicationIdSuffix ".debug" } } 

    Vous avez des ressources dans src/androidTest/res ? Ils ne sont PAS à com.example.my.app.test ! Si vous exécutez la compilation de débogage, ils sont à com.example.my.app.debug.test.R !!!!

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.