I'm still not sure how to use it exactly, can you help a little bit. Currently, I have this code:
But I'm not sure what is responsible for produce unsigned task.
And inside of RemoteSignTask task I need to get location of all files which should be fixed.
output.outputFileName = RemoteSignTask.renameToSignedName(output.outputFileName)
}
variant.setOutputsAreSigned(true)
// Regular APK signing
def apk = variant.getFinalArtifact(InternalArtifactType.APK.INSTANCE)
InternalArtifactType.APK.INSTANCE
def signTask = project.tasks.register(
"remoteSign" + variant.name.capitalize() + "Apk", RemoteSignTask,
new RemoteSignTask.ConfigAction(variant, apk))
// FIXME: IT should be completely outside this task, but it is not possible now
def folderManifestTaskForApk = project.tasks.register(
"folderManifest" + variant.name.capitalize() + "Apk", FolderManifestTask,
new FolderManifestTask.ConfigAction(variant, apk))
variant.assembleProvider.configure {
it.dependsOn(signTask)
it.dependsOn(folderManifestTaskForApk)
}
signTask.configure {
folderManifestTaskForApk.get().dependsOn(it)
}
// App bundle signing
def bundle = variant.getFinalArtifact(InternalArtifactType.BUNDLE.INSTANCE)
def bundleSignTask = project.tasks.register(
"remoteSign" + variant.name.capitalize() + "Bundle", RemoteSignTask,
new RemoteSignTask.ConfigAction(variant, bundle))
// FIXME: IT should be completely outside this tak, but it is not possible now
def folderManifestTaskForAAB = project.tasks.register(
"folderManifest" + variant.name.capitalize() + "Bundle", FolderManifestTask,
new FolderManifestTask.ConfigAction(variant, bundle))
variant.getVariantData().getTaskContainer().bundleTask.configure {
it.dependsOn(bundleSignTask)
it.dependsOn(folderManifestTaskForAAB)
}
bundleSignTask.configure {
folderManifestTaskForAAB.get().dependsOn(it)
}
if (variant.testVariant != null ) {
// Test APK signing
def testApk = variant.testVariant.getFinalArtifact(InternalArtifactType.APK.INSTANCE)
def testSignTask = project.tasks.register(
"remoteSign" + variant.name.capitalize() + "AndroidTest", RemoteSignTask,
new RemoteSignTask.ConfigAction(variant.testVariant, testApk))
variant.testVariant.assembleProvider.configure {
dependsOn(testSignTask)
}
variant.testVariant.connectedInstrumentTestProvider.configure {
dependsOn(testSignTask)
}
}
}