2013-10-23 16 views
13

Esiste un modo per specificare un ulteriore file AndroidManifest.xml per un'applicazione di test gradle? Ho bisogno di specificare ulteriori autorizzazioni e attività per i miei test unitari.AndroidManifest.xml per Gradle instrumentTest

UPD: ho cercato di aggiungere instrumnetTest sezione nel file build.gradle, ma non ha aiutato e ho ancora ottenere Unable to resolve activity for: Intent errore

sourceSets { 
    main { 
     manifest.srcFile 'AndroidManifest.xml' 
     java.srcDirs = ['src'] 
     resources.srcDirs = ['src'] 
     aidl.srcDirs = ['src'] 
     renderscript.srcDirs = ['src'] 
     res.srcDirs = ['res'] 
     assets.srcDirs = ['assets'] 
    } 
    instrumentTest { 
     manifest.srcFile 'src/instrumentTest/AndroidManifest.xml' 
     java.srcDir 'src/instrumentTest/Java' 
    } 
} 
+0

sei stato in grado di lavorare in giro? Al momento sto riscontrando questo problema e temo che non ci sia modo di farlo funzionare perché AndroidManifest.xml viene generato automaticamente per instrumentTest: http://tools.android.com/tech-docs/new-build-system/ guida-utente # TOC-Basics-and-Configuration È davvero restrittivo :( – Y2i

+0

Sono riuscito a ovviare a questo problema, ma solo modificando il plug-in gradle Android stesso - non credo che sia possibile ottenere senza farlo. – ZoFreX

+0

Vorrei fare anche questo, per ignorare l'icona e il nome dell'app nell'app di test. Peccato che non sia supportato. @ZoFreX, dove hai apportato la modifica e/o hai contattato la gente di Google? –

risposta

-2

Sì, è possibile, nel vostro build.gradle quando si definiscono le vostre sourceSets, è possibile specificare il percorso del manifesto:

sourceSets { 
     main { 
      manifest.srcFile 'src/main/AndroidManifest.xml' 
      java.srcDir 'src/main/src' 
      res.srcDir 'src/main/res' 
      assets.srcDir 'src/main/assets' 
      resources.srcDir 'src/main/src' 
      aidl.srcDir 'src/main/src' 
     } 

instrumentTest { 
      manifest.srcFile 'src/instrumentTest/AndroidManifest.xml' 
      java.srcDir 'src/instrumentTest/src' 
      res.srcDir 'src/instrumentTest/res' 
      assets.srcDir 'src/instrumentTest/assets' 
      resources.srcDir 'src/instrumentTest/src' 
      aidl.srcDir 'src/instrumentTest/src' 
     } 
} 

è possibile verifica su questa documentazione: 012.

+0

I ' Ho provato a farlo, ma non è stato di aiuto –

+0

Il manifest è ignorato per i test. Secondo i [docs] (http://tools.android.com/tech-docs/new-build-system/user- guida # TOC-Basics-and-Configuration): > Il set sorgente non deve contenere un oggetto AndroidManifest.xml poiché viene generato automaticamente. –

10

È possibile specificare un particolare AndroidManifest.xml per Android (precedentemente chiamato Test strumento), se si è in grado di utilizzare la versione 0.13.0 (o successiva) del Gradle Plugin Android.

Basta inserire il file in src/androidTest/AndroidManifest.xml - la fusione manifest si prenderà cura del file quando si esegue l'attività di prova gradle.

C'è un esempio nella documentazione ufficiale "gradle-samples-0.13.zip\gradle-samples-0.13\androidManifestInTest" - come si può vedere non è richiesta alcuna configurazione speciale per includere il manifest del test.

Problemi correlati