Sto provando a utilizzare una build personalizzata per riconfezionare la mia app per Android. Voglio creare una versione beta interna che posso installare fianco a fianco con la mia app di produzione.Modifica del nome del pacchetto dell'applicazione nel passaggio personalizzato Ant build
This answer sembra esattamente quello di cui ho bisogno, tuttavia non sembra funzionare.
Ecco l'aggiornamento al mio build.xml:
<target
name="-package-resources"
depends="-crunch" >
<echo>Repackaging AndroidManifest.xml to ${package.manifest.name} ${out.absolute.dir}/${resource.package.file.name}</echo>
<exec executable="${aapt}" failonerror="true">
<arg value="package" />
<arg value="-f" />
<arg value="--auto-add-overlay" />
<arg value="-M" />
<arg path="AndroidManifest.xml" />
<arg value="-S" />
<arg path="${resource.absolute.dir}" />
<arg value="-S" />
<arg path="${android.library.reference.1}/res" />
<arg value="-A" />
<arg path="${asset.absolute.dir}" />
<arg value="-I" />
<arg path="${project.target.android.jar}" />
<arg value="-F" />
<arg path="${out.absolute.dir}/${resource.package.file.name}" />
<arg value="--rename-manifest-package" />
<arg value="${package.manifest.name}" />
</exec>
</target>
esecuzione sembra eseguire correttamente il mio nuovo codice:
ant debug -Dpackage.manifest.name=com.example.test
...
-package-resources:
[echo] Repackaging AndroidManifest.xml to com.example.test /<mypath>/bin/<appname>.ap_
...
BUILD SUCCESSFUL
Tuttavia, quando uso APKTool per ispezionare l'APK, il pacchetto il nome nel mio AndroidManifest non è stato modificato nel nuovo valore. Tutto ciò che sembra essere successo è che i miei percorsi di attività relativi ". MyActivity" sono stati estesi al mio nome originale del pacchetto.
apktool d --force bin/<appname>-debug.apk
Qualcuno sa cosa sto facendo male? Ho esaminato tutte le altre risposte StackOverflow e la maggior parte sembrano un po 'obsolete. Sto costruendo con SDK Tools Android Revisione 21.1.0, per minSdkVersion 8.
Aggiornamento: Come @athor commenti qui sotto la sua risposta, la mia ipotesi circa ispezionare l'AndroidManifest.xml è sbagliato. Per testare questo è effettivamente necessario provare a installarlo piuttosto che visualizzare l'XML decompilato!
Stranamente, questo non sembra funzionare neanche per me :-(Stessi sintomi, l'APK viene compilato, ma decomprimerlo mostra che AndroidManifest.xml non ha il nuovo pacchetto. Ho provato a eseguire "ant debug -Dapp" .custompackagename = com.example.test ", e ho provato anche una versione di rilascio.Questo mi sta facendo impazzire ... –
Ho appena decompilato la mia app. Il nome del pacchetto nel file manifest non cambia. in un modo che non influisce su tutte le importazioni ecc. Nella tua app. Quindi il nome del pacchetto nel file manifest rimane lo stesso, ma il nome del pacchetto effettivo è cambiato.Hai provato a installare entrambe le versioni l'una di fianco all'altra? Se il nome del pacchetto non è cambiato, non sarai in grado di ... – athor
Oh wow, hai ragione - si installa bene insieme agli altri APK! Sono piuttosto sorpreso che si comporta in questo modo ... Grazie! –