2016-02-25 8 views
25

Utilizzando involucro Gradle 2.10, e Android Gradle costruire strumenti 2.0.0-Beta7 2.1.0Proguard Printmapping non funziona in Android Studio 2.0.0 (e 2.1.0)

Dal mio build.gradle :

buildTypes { 
     all{ 
      minifyEnabled true 
      proguardFiles = [getDefaultProguardFile("proguard-android.txt"), 'proguard-project.pro']; 
     } 
    } 

Questo funziona. Le cose sono offuscate.

Ho la seguente riga nel mio proguard-project.pro così:

-printmapping my-mapping.txt

Tutto il resto in quel file funziona bene, ma la mappatura mantiene sempre stampato nel posto sbagliato:

Printing mapping to [C:\path\to\my\project\build\outputs\mapping\debug\mapping.txt]

Questa sintassi è cambiata?

Nota: ho provato a fornire un percorso diretto. Ho provato a fornire un nome senza un trattino. Niente cambia.

Per ora ho appena creato un compito di copia gradle.

+0

Cosa intendi, posto sbagliato? – RaGe

+0

@RaGe In passato, tale riga avrebbe inserito il file di mapping nella radice del progetto. Ora, indipendentemente da dove punta quella linea, stampa sempre il mapping nella cartella di build E con il nome sbagliato, – VicVu

+0

Non ho familiarità con quello che era in passato, ma se vuoi metterlo in uno specifico cartella, dovresti provare a fornire un percorso assoluto. Come per il nome sbagliato, forse il trattino nel nome del file è un problema? Prova a racchiuderlo tra virgolette. – RaGe

risposta

3

Di fronte con lo stesso problema, ma sembra che

{projectRoot}\build\outputs\mapping\debug\mapping.txt 

è corretto posto per file di mapping ora

+0

Mi sento come se il metodo fosse semplicemente rotto. Perché la build dovrebbe passare con printmapping in essa se non è destinata a funzionare più? – VicVu

0

forse si può cambiare per follwoing

android { 
    buildTypes { 
     release { 
      runProguard true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'),'some-other-rules.txt' 
      //proguardFile 'some-other-rules.txt' 
     } 
    } 
} 
+0

Questo non ha fatto differenza. – VicVu

7

Il file di mapping in posizione build\outputs\mapping\debug\mapping.txt è quello predefinito che viene generato anche quando non si specifica -printmapping my-mapping.txt all'interno di proguard-project.pro. Vedo che il nome è sempre mapping.txt quindi -printmapping viene ignorato con la nuova versione di Android Studio.

Ricordo che veniva generato nella stessa cartella radice del progetto in cui è presente proguard-project.pro ma confermo, non viene generato ora con Android Studio 2.0 ed è un bug che è possibile archiviare in Android Issue Tracker.


UPDATE

Link Android Problema: https://code.google.com/p/android/issues/detail?id=205213

+2

Sembrerebbe che qualcuno lo abbia appena archiviato. Potresti aggiornare il link per indicare qui? https://code.google.com/p/android/issues/detail?id=205213 – Pooks

0

Basta provare ad avviare Android Studio come amministratore.

-printmapping 

potrebbe non scrivere nella cartella di sistema che causa questo problema.