2013-05-22 13 views
43

Ho studiato Android negli ultimi mesi e ho utilizzato Eclipse Juno come IDE.Android Studio Exclude Class da build?

Sto cercando di migrare ad Android-Studio e mi chiedo come posso "escludere dal percorso di costruzione" alcune delle classi che devo ancora completare?

In Eclipse, era semplice fare clic con il pulsante destro del mouse. Non riesco a trovare alcun riferimento ad esso in Studio.

+1

Se stai imparando, perché stai cercando di migrare verso un, prodotto in anteprima inedito che ha bisogno di esperienza per utilizzare con successo e per aggirare i vari bug in vero? – Simon

+1

Buona domanda Simon. Vedo la scritta sul muro. Inoltre, tra la documentazione e StackOverflow, sono riuscito a creare un'applicazione che applica le migliori pratiche. – Beyond4D

risposta

69

AFAIK IntelliJ consente di escludere i pacchetti. Apri struttura del progetto (Ctr + Alt + Shift + S in Linux)> Moduli> scheda Fonti.

Tuttavia, se si desidera escludere solo una classe, utilizzare il file di build Gradle.

Android Studio utilizza Gradle così nel file di build.gradle aggiungere all'interno androide SourceSet personalizzato di configurazione che esclude la classe per esempio:

android { 
    compileSdkVersion 19 
    buildToolsVersion "19.0.3" 

    defaultConfig { 
    minSdkVersion 19 
    targetSdkVersion 19 
    packageName "org.homelab.lab" 
    testPackageName "org.homelab.lab.test" 

    } 
    sourceSets { 
    main { 
     java { 
      exclude '**/SomeExcludedClass.java' 
     } 
    } 
    androidTest { 
     java { 
      exclude '**/TestSomeExcludedClass.java' 
     } 
    } 
    } 
} 
+0

Eccellente. Grazie. Sono certo che le versioni future lo renderanno disponibili nel menu di scelta rapida? – Beyond4D

+0

Possiamo escludere i file nei tipi di build? Se è possibile, possiamo farlo nello stesso modo in cui è fatto in SourceSets? – Ahmed

+0

è possibile in sapori – robotoaster

6

Esso non può essere fatto.

Forse potrebbe tornare nel maggio '13 quando è stata fornita la risposta accettata, ma non più (come di 1.2).

Ecco il problema:
https://code.google.com/p/android/issues/detail?id=64957

Secondo le etichette sono rivolti ad AS 1.5 per l'aggiunta di questi caratteristica.

+0

Il link dice "I componenti java/resources dei sourcesets consentono pattern di inclusione/esclusione. Dovremmo farlo per aidl/rs/jni/assets". Sembra che si aspettino che le esclusioni di "java" stiano attualmente funzionando. –

+0

@BrianWhite Grazie per la correzione. Sono contento di sentire che questo è supportato. – Tom

+0

No, non è supportato. Almeno, non sta funzionando per me. È solo che il problema menziona esplicitamente aidl/rs/jni/assets ma non java. –

0

funziona bene con lo Studio Android v3.0

apply plugin: 'com.android.application' 

android { 
    defaultConfig {...} 
    buildTypes {...} 
    sourceSets { 
     main { 
      java { 
       exclude 'com/example/full/package/path/MainActivity.java' 
      } 
     } 
    } 
} 
Problemi correlati