使用Gradle打包时,需要将手写的服务启动脚本放到压缩包中,本来只需要简单的代码就可以了。
applicationDistribution.from('src/script/runServer.sh'){
into "bin"
}
但是实际项目中,项目名可配,版本可配。服务器上的部署的目录就带有项目名和版本信息,比如实际项目目录是/data0/projName-1.2.3/。为了让脚本能正常使用,我的构想是维护一个脚本模板,模板中使用两个变量来表示项目名和版本信息,然后在打包时,根据Gradle配置文件中的项目名和版本信息,来替换脚本模板中的变量,生成脚本文件。最后将生成的脚本文件打到包中。
这就切题了--使用Gradle修改文件内容并重命名。
我的实现如下
#!/bin/bash projName="@gradleProjName@" projVersion="@gradleVersion@" projFolder=${projName}-${projVersion}
runServer.model
applicationName='projName' app_version='1.2.3' import org.apache.tools.ant.filters.ReplaceTokens task genShell(type: Copy) { from 'src/script/' include 'runServer.model' into 'src/script/' rename ('runServer.model','runServer.sh') filter (ReplaceTokens, tokens: [ gradleProjName: applicationName, gradleVersion: app_version ]) }
build.gradle
注:使用Gradle版本2.14.1
相关推荐
4. **Filtering and Transforming Files(过滤和转换文件)**:解释如何过滤特定文件,并对这些文件进行内容上的修改。 5. **Keyword Expansion(关键词扩展)**:展示如何使用变量和表达式来动态生成文件路径。 6. ...
Gradle 提供了多种方法来实现这一点,例如使用 `transform` 方法来修改文件路径。 - **Renaming Files During Copy**:在复制文件时,可以通过 `rename` 方法对文件进行重命名。这对于创建归档文件或调整文件名格式...
3. **资源重命名**:Gradle-1.6支持资源的自动重命名,以避免在多模块项目中因资源ID冲突而引发的问题。通过`android.renameDebugRFile`属性,可以在调试构建时启用此功能。 4. **优化构建速度**:在1.6版本中,...
首先,要更改APK文件的基本名称,我们需要在`app`模块的`build.gradle`文件中设置`project.archivesBaseName`。这个属性决定了最终生成的APK文件的基础名字。例如: ```groovy android { compileSdkVersion 25 ...
Gradle提供了强大的功能来实现这一点,比如可以重命名文件、更改目录结构等。 - **Renaming Files During Copy**:在进行文件复制时,可以通过配置`Copy`任务来自动重命名文件,这对于某些特定场景非常有用。 - ...
在这个例子中,我们创建了一个新的`copyReactGradle`任务,它会复制自定义的`react.gradle`到React Native的目录,并将其所有文件重命名为`custom_`开头,这样就可以避免与原有文件冲突。然后,我们将这个任务添加为...
在使用Gradle加固插件时,开发者需要在项目的`build.gradle`文件中引入插件依赖,并配置相关参数。例如,对于AndFix插件,可能需要添加以下内容: ```groovy buildscript { repositories { jcenter() } ...
源码描述中提到,这个批量文件重命名工具可以让用户选择特定的文件目录,这意味着用户可以指定包含需要重命名文件的文件夹路径。用户还可以手动添加原始名称和要替换的名称,这意味着工具提供了自定义规则来改变...
"Jar包包名修改"工具提供了一种便捷的方式来实现这一目标,无需复杂的命令行操作,使得开发者能够快速、高效地更改JAR文件的名称。 首先,了解JAR文件的结构是至关重要的。JAR(Java ARchive)文件是一种特殊类型的...
2. **修改Build.gradle文件**:调整Gradle构建脚本以适应新的构建需求。 ##### 步骤六:配置构建Job 1. **创建新Job**:在Jenkins中创建一个新的构建任务。 2. **配置SVN代码路径**:指定从SVN拉取代码的路径。 3. ...
需要注意的是,在Gradle的不同版本中,重命名APK的方法略有不同。在Gradle 4.0及以下版本,可以使用`it.outputFile = new File(it.outputFile.parent, fileName)`;而在4.0及以上版本,应该使用`it.outputFileName =...
构建过程中,开发者通常会在`build.gradle`文件中定义Shade插件的配置,包括哪些依赖需要被包含,哪些类需要被重命名(如果存在冲突的话),以及生成的JAR的最终结构。例如,可能有这样的配置: ```groovy apply ...
为了在每个渠道包中自动替换服务地址,我们可以使用Gradle的资源重命名(resValue)功能。在`build.gradle`中添加以下代码: ```groovy android { // ... applicationVariants.all { variant -> variant....
将所有gradle文件重命名为*.gradle.kts 。 基本转换(建议在android studio外进行编辑以进行初始更改) 。 开始... Kotlin-Dsl 问题错误和清除方面的重大滞后。 (多个java.exes等)。 buildSrc的更改要求android ...
描述中提到了“nebula-project-plugin”,这可能是该压缩包中Gradle插件的原始名称,可能被重命名为“gradle-rxjava-project-plugin”。Nebula Project Plugin是一个广受欢迎的开源项目,由Nebula团队维护,旨在提供...
这包括连接和断开服务器、列出目录内容、上传和下载文件、以及执行更改权限和重命名等操作。源代码中可能包含了FTP客户端的实现,这部分代码会涉及到网络编程,如socket通信,以及对FTP命令的解析和响应。 在**...
在`app/build.gradle`文件中,你需要配置Release签名信息,确保Gradle知道如何签名Release包。具体如下: ```groovy android { ... // 配置签名文件 signingConfigs { release { storeFile file("你的签名文件...
它支持常见的文件操作,如复制、剪切、粘贴、重命名、删除,以及创建新的文件夹。此外,FileExplorer还可能包含了对网络文件系统的支持,比如FTP、SMB,让用户能够远程访问和管理其他设备上的文件。 由于其开源特性...
如果你希望自定义APK的名称,可以通过修改`build.gradle`文件实现这一目标。以下是详细的步骤和解释: 1. **打开`build.gradle`文件**: 首先,你需要打开Android Studio项目中的`build.gradle`文件,这通常位于`...