Ogni progetto creato in Android Studio 1.0.2 contiene diversi file che fanno riferimento al percorso assoluto del progetto. Non riesco nemmeno a spostare la mia directory di progetto se voglio, per non parlare di condividere il progetto con altri sviluppatori.Come forzare Android Studio a utilizzare percorsi relativi?
Esclusione di file in app/build
, questi sono i file che contengono i percorsi assoluti:
.idea/workspace.xml
.idea/modules.xml
.idea/libraries/support_v4_21_0_3.xml
.idea/libraries/appcompat_v7_21_0_3.xml
.idea/gradle.xml
.gradle/2.2.1/taskArtifacts/taskArtifacts.bin
.gradle/2.2.1/taskArtifacts/fileSnapshots.bin
app/app.iml
Come forzo Android Studio per utilizzare i percorsi relativi per tutto?
Modifica: Sperimentando con vaniglia IDEA, ho ristretto l'origine di questi percorsi assoluti a un tipo specifico di modulo, che Android Studio utilizza apparentemente sempre senza offrire una scelta. Ma non sono ancora più vicino a capire come sradicarli.
In IDEA 14.0.2, se si crea un progetto vuoto o un progetto Android con un "Modulo applicazione", il progetto non contiene percorsi assoluti. Se crei un progetto con un "Gradle: modulo Android", allora contiene percorsi assoluti negli stessi file di un progetto Android Studio.
Edit # 2: Creato IDEA-134587
Al momento sono su un autobus, ma sei sicuro che questi percorsi assoluti ti impediscano davvero di spostare un progetto? Sono quasi sicuro che se copi quella directory di progetto in una nuova directory e apri il progetto o lo reimporthi e fai una build pulita aggiornerà tutti quei file con nuovi percorsi assoluti che riflettono dove è la copia del progetto originale è. Sono quasi sicuro di aver copiato e aperto i miei progetti senza problemi, ma come ho detto sono su un autobus. Anche se, forse dovrei dare un'occhiata, forse quei progetti copiati hanno riferimenti all'originale a causa di questo. – Mark
@ Mark Sì. Se cambio il percorso assoluto del progetto, quando AS tenta di aprirlo, dice, 'Impossibile caricare il file del modulo '/old/path/to/module.iml'; il file '/old/path/to/module.iml' non esiste. Volete rimuovere il modulo 'modulo' dal progetto? ' –
@Mark E se dico di no, il modulo non viene ancora visualizzato. Non c'è nulla da pulire o costruire. –