Android Studio 将生成默认的 apk 名称为 app-(release|debug).apk。
如何生成与应用程序包名称相同的 apk 文件名,例如com.example-debug.apk
.
问问题
9090 次
5 回答
16
您可以在不使用其他任务的情况下执行此操作,设置archivesBaseName
.
例如:
defaultConfig {
....
project.ext.set("archivesBaseName", "MyName-" + defaultConfig.versionName);
}
输出:
MyName-1.0.12-release.apk
在你的情况下:
project.ext.set("archivesBaseName", "com.example" );
于 2015-09-08T06:59:22.807 回答
4
尝试将其放入模块的 build.gradle
applicationVariants.all { variant ->
variant.outputs.each { output ->
def file = output.outputFile
def appId = android.defaultConfig.applicationId
def fileName = appId + "-" variant.buildType.name +".apk"
output.outputFile = new File(file.parent, fileName)
}
}
于 2015-09-08T05:11:24.423 回答
2
你可以看到这个链接。release|debug.apk
或在文件浏览器中使用您想要的名称重命名您的不合逻辑的选项。
此代码可能对您有用:
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationVariants.all { variant ->
variant.outputs.each { output ->
def formattedDate = new Date().format('yyyyMMddHHmmss')
def newName = output.outputFile.name
newName = newName.replace("app-", "$rootProject.ext.appName-") //"MyAppName" -> I set my app variables in the root project
newName = newName.replace("-release", "-release" + formattedDate)
//noinspection GroovyAssignabilityCheck
output.outputFile = new File(output.outputFile.parent, newName)
}
}
}
debug {
}
}
享受你的代码:)
于 2015-09-08T05:21:47.273 回答
0
在项目的顶级目录中创建一个名为 customname.gradle 的文件。将这段代码放入其中。
android.applicationVariants.all { variant ->;
def appName
//Check if an applicationName property is supplied; if not use the name of the parent project.
if (project.hasProperty("applicationName")) {
appName = applicationName
} else {
appName = parent.name
}
variant.outputs.each { output ->;
def newApkName
//If there's no ZipAlign task it means that our artifact will be unaligned and we need to mark it as such.
if (output.zipAlign) {
newApkName = "${appName}-${output.baseName}-${variant.versionName}.apk"
} else {
newApkName = "${appName}-${output.baseName}-${variant.versionName}-unaligned.apk"
}
output.outputFile = new File(output.outputFile.parent, newApkName)
}}
然后在您的应用模块的 gradle 中添加此代码
apply from: "../customname.gradle"
于 2015-09-08T06:52:00.657 回答
0
这可能会对您有所帮助。此代码将创建应用程序名称,applicationId-release.apk
或applicationId-debug.apk
其中 applicationId 可以是您的包名称。
buildTypes {
applicationVariants.all { variant ->
variant.outputs.each { output ->
def newName = output.outputFile.name
newName = newName.replace("app-", applicationId)
output.outputFile = new File(output.outputFile.parent, newName)
}
}
}
于 2017-11-14T10:18:57.170 回答