网站建设公司如何发展python做笔记的网站
news/
2025/9/23 12:28:15/
文章来源:
网站建设公司如何发展,python做笔记的网站,品牌建设需打持久战,网站运营工作的基本内容前言
在实际开发项目中#xff0c;我们的工程目录往往是多个app在一个工程下的#xff0c;每次打包都需要手动的用studio点击Build-Generate Signed Bundle or APK-APK 选择app#xff0c;签名等#xff0c;甚至有的app签名还不一样#xff0c;还需要手动的来回切…前言
在实际开发项目中我们的工程目录往往是多个app在一个工程下的每次打包都需要手动的用studio点击Build-Generate Signed Bundle or APK-APK 选择app签名等甚至有的app签名还不一样还需要手动的来回切换非常麻烦。所以我就考虑采用多渠道打包shell脚本的方式来实现一行命令打包。
先来看看我的工程目录结构有11个app且签名还不一样。用android studio打包操作非常繁琐。 然后最终实现的效果是
在git bash 里面输入 sh package.sh 或者是指定输出目录 下面我们来看看实现过程
1配置groovy脚本
在app下的build.gradle 里面配置如下
plugins {id com.android.application
}android {namespace com.yuanzhen.packageapplicationcompileSdk 33defaultConfig {applicationId com.yuanzhen.packageapplicationminSdk 24targetSdk 33versionCode 1versionName 1.0testInstrumentationRunner androidx.test.runner.AndroidJUnitRunnerflavorDimensions pack //配置多渠道}productFlavors {test1 {applicationId com.yuanzhen.packageapplicationdimension packmanifestPlaceholders [appName: packageapplication]}}signingConfigs {release {storeFile file(keystore/release.jks)storePassword 123456keyAlias codekeyPassword 123456v1SigningEnabled truev2SigningEnabled true}debug {storeFile file(keystore/debug.jks)storePassword 123456keyAlias codekeyPassword 123456v1SigningEnabled truev2SigningEnabled true}}buildTypes {release {buildConfigField(boolean, API_DEBUG, false)minifyEnabled falsesigningConfig signingConfigs.releaseproguardFiles getDefaultProguardFile(proguard-android-optimize.txt), proguard-rules.pro}debug {buildConfigField(boolean, API_DEBUG, true)minifyEnabled falsesigningConfig signingConfigs.debugproguardFiles getDefaultProguardFile(proguard-android-optimize.txt), proguard-rules.pro}applicationVariants.all {def buildType it.buildType.nameif(buildType release){if(project.hasProperty(OUT_PUT_PATH)){//自定义输出路径it.getPackageApplication().outputDirectory new File(${OUT_PUT_PATH})}else {//as工具默认的路径it.getPackageApplication().outputDirectory new File(project.rootDir.absolutePath /output_apk)}}}}compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}
}dependencies {implementation androidx.appcompat:appcompat:1.4.1implementation com.google.android.material:material:1.5.0implementation androidx.constraintlayout:constraintlayout:2.1.3testImplementation junit:junit:4.13.2androidTestImplementation androidx.test.ext:junit:1.1.3androidTestImplementation androidx.test.espresso:espresso-core:3.4.0
}
其他app配置和上面相同根据实际情况自己调整
从上面的配置情况我们可以知道使用命令
gradle assembletest1Release -POUT_PUT_PATHD:/out_apk
可以将packageapplication这个应用打包出来
2配置gradle环境变量
这个就不多说了不会的可以百度
3编写shell脚本
新建一个package.sh脚本放在项目根目录下
shell 脚本有不熟悉的可以参考Android需要掌握的shell脚本基础
package.sh如下
echo 开始cleangradle cleanecho clean结束if [ ! -n $1 ] ;then
echo 开始app1打包
gradle assembletest1Release -POUT_PUT_PATHD:/out_apk
echo app1打包完成echo 开始app2打包
gradle assembletest2Release -POUT_PUT_PATHD:/out_apk
echo app2打包完成echo 开始app3打包
gradle assembletest3Release -POUT_PUT_PATHD:/out_apk
echo app3打包完成echo 全部打包完成 请在D:/out_apk查看打包内容
else
echo 开始app1打包
gradle assembletest1Release -POUT_PUT_PATH$1
echo app1打包完成echo 开始app2打包
gradle assembletest2Release -POUT_PUT_PATH$1
echo app2打包完成echo 开始app3打包
gradle assembletest3Release -POUT_PUT_PATH$1
echo app3打包完成echo 全部打包完成 请在$1查看打包内容
fi
4打包
因为Linux中sh是链接到bash上的所以sh与bash在功能上是没有区别的相当于bash解析器是sh的增强版本所以Windows用户可以在 git bash中运行脚本,苹果用户可以直接在命令窗口运行脚本
单个程序的打包和上面的一键打包是一样的这里就不再详说了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912536.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!