2015-03-28 13 views
5

È possibile avere diversi file manifest per le versioni di debug e release del mio APK in Android Studio?Come posso avere diversi file manifest per le versioni di debug e di rilascio?

Normalmente non ho bisogno di una tale cosa, ma in modalità di debug, le mie applicazioni vengono eseguite in un ID utente e processo diversi e questo è definito nel manifest. Ho attaccato un diff di ciò che il mio di debug manifesto ha:

--- a/AndroidManifest.xml 
+++ b/AndroidManifest.xml 
@@ -1,5 +1,6 @@ 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.mridang.address" 
+ android:sharedUserId="com.mridang.dashclock" 
    android:versionCode="10" 
    android:versionName="1.0" > 

@@ -14,6 +15,7 @@ 
    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
+  android:process="com.mridang.dashclock" 
     android:label="@string/application_name" 
     android:theme="@android:style/Theme.Holo.Light.DarkActionBar" > 

che sto perdendo la mia mente con stashing il file manifesto di debug e popping prima di costruire e se due manifesti distinti erano possibili, che sarebbe grande.

risposta

17

Creare una cartella "debug" sotto src/e metterlo in là: https://github.com/androidfu/Now-Playing/tree/master/app/src

mio "rilasciare" manifesta è in src/main /, ma sono abbastanza sicuro che se si ha bisogno di due file manifesto del tutto separati potresti usare src/release/e src/debug /.

+0

Questo esempio sembrava davvero utile. Android unirà automaticamente entrambi i manifesti o devo modificare qualcosa nella configurazione di Gradle? Quell'esempio era esattamente ciò di cui avevo bisogno, poiché sembra che non sia necessario avere due distinti manifesti ma solo le parti diff. –

+1

@MridangAgarwalla: "Android unirà automaticamente entrambi i manifesti" - sì. "sembra che non sia necessario avere due distinti manifesti ma solo le parti diff" - probabilmente. La fusione manifesta è complicata e, a seconda di cosa stai cercando di fare, potresti dover fornire a Gradle per Android un ulteriore aiuto: http://tools.android.com/tech-docs/new-build-system/ user-guide/manifest-merger – CommonsWare

+0

Non ho fatto altro che definire debug {} e rilasciare {} buildTypes nel mio file app/build.gradle. –

Problemi correlati