news 2026/5/9 18:31:41

Uniapp——史上最完整Android离线多渠道打包教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Uniapp——史上最完整Android离线多渠道打包教程

Android离线多渠道打包教程

  • 前言
  • 一、原生build.gradle文件配置?
  • 二、模块AndroidManifest.xml
  • 三、uniapp代码使用教程
  • 四、打包处理
  • 总结

前言

Android 需要多渠道打包的主要原因是 支持不同的设备、市场和用户需求。通过多渠道打包,可以将一个应用根据不同的目标市场、设备配置、网络环境、语言等因素生成多个定制化的 APK,从而提高应用发布的灵活性和覆盖面。


一、原生build.gradle文件配置?

plugins{alias(libs.plugins.android.application)}android{namespace'com.qnt'compileSdk35defaultConfig{applicationId"com.qnt"minSdk21targetSdk35versionCode1versionName"1.0.0"multiDexEnabledtruendk{abiFilters/*'x86',*/'armeabi-v7a','arm64-v8a'}testInstrumentationRunner"androidx.test.runner.AndroidJUnitRunner"// 定义动态的 BuildConfig 字段buildConfigField"String","DCLOUD_STREAMAPP_CHANNEL","\"com.qnt|db288fe7d1e89fa4|0123456789|release\""}sourceSets{main{assets.srcDirs=['src/main/assets']}}aaptOptions{additionalParameters'--auto-add-overlay'ignoreAssetsPattern"!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"}signingConfigs{release{storeFilefile("../jnt.jks")storePassword"jt"keyAlias"jalias"keyPassword"jt"v1SigningEnabledtrue//兼容v1v2SigningEnabledtrue//兼容v2}}buildTypes{debug{signingConfig signingConfigs.release minifyEnabledfalseproguardFilesgetDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro'}release{signingConfig signingConfigs.release minifyEnabledfalseshrinkResourcesfalseproguardFilesgetDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro'}}compileOptions{sourceCompatibilityJavaVersion.VERSION_1_8 targetCompatibilityJavaVersion.VERSION_1_8}buildFeatures{buildConfig=true// Enable BuildConfig generation}flavorDimensions"default"productFlavors{APP_CHANNEL_DOU{buildConfigField"String","DCLOUD_STREAMAPP_CHANNEL","\"com.qnt|db288fe7d1e89fa4|0123456789|1_APP_CHANNEL_DOU\""manifestPlaceholders=[DCLOUD_STREAMAPP_CHANNEL:"com.qnt|db288fe7d1e89fa4|0123456789|1_APP_CHANNEL_DOU"]}APP_CHANNEL_DOU{buildConfigField"String","DCLOUD_STREAMAPP_CHANNEL","\"com.qnt|db288fe7d1e89fa4|0123456789|1_APP_CHANNEL_DOU\""manifestPlaceholders=[DCLOUD_STREAMAPP_CHANNEL:"com.qnt|db288fe7d1e89fa4|0123456789|1_APP_CHANNEL_DOU"]}APP_CHANNEL_KUAI{buildConfigField"String","DCLOUD_STREAMAPP_CHANNEL","\"com.qnt|db288fe7d1e89fa4|0123456789|2_APP_CHANNEL_KUAI\""manifestPlaceholders=[DCLOUD_STREAMAPP_CHANNEL:"com.qnt|db288fe7d1e89fa4|0123456789|2_APP_CHANNEL_KUAI"]}APP_CHANNEL_BAIDU{buildConfigField"String","DCLOUD_STREAMAPP_CHANNEL","\"com.qnt|db288fe7d1e89fa4|0123456789|4_APP_CHANNEL_BAIDU\""manifestPlaceholders=[DCLOUD_STREAMAPP_CHANNEL:"com.qnt|db288fe7d1e89fa4|0123456789|4_APP_CHANNEL_BAIDU"]}huawei{buildConfigField"String","DCLOUD_STREAMAPP_CHANNEL","\"com.qnt|db288fe7d1e89fa4|0123456789|huawei\""manifestPlaceholders=[DCLOUD_STREAMAPP_CHANNEL:"com.qnt|db288fe7d1e89fa4|0123456789|huawei"]}xiaomi{buildConfigField"String","DCLOUD_STREAMAPP_CHANNEL","\"com.qnt|db288fe7d1e89fa4|0123456789|xiaomi\""manifestPlaceholders=[DCLOUD_STREAMAPP_CHANNEL:"com.qnt|db288fe7d1e89fa4|0123456789|xiaomi"]}vivo{buildConfigField"String","DCLOUD_STREAMAPP_CHANNEL","\"com.qnt|db288fe7d1e89fa4|0123456789|vivo\""manifestPlaceholders=[DCLOUD_STREAMAPP_CHANNEL:"com.qnt|db288fe7d1e89fa4|0123456789|vivo"]}oppo{buildConfigField"String","DCLOUD_STREAMAPP_CHANNEL","\"com.qnt|db288fe7d1e89fa4|0123456789|oppo\""manifestPlaceholders=[DCLOUD_STREAMAPP_CHANNEL:"com.qnt|db288fe7d1e89fa4|0123456789|oppo"]}a360{buildConfigField"String","DCLOUD_STREAMAPP_CHANNEL","\"com.qnt|db288fe7d1e89fa4|0123456789|360\""manifestPlaceholders=[DCLOUD_STREAMAPP_CHANNEL:"com.qnt|db288fe7d1e89fa4|0123456789|360"]}YYB{buildConfigField"String","DCLOUD_STREAMAPP_CHANNEL","\"com.qnt|db288fe7d1e89fa4|0123456789|YYB\""manifestPlaceholders=[DCLOUD_STREAMAPP_CHANNEL:"com.qnt|db288fe7d1e89fa4|0123456789|YYB"]}RongYao{buildConfigField"String","DCLOUD_STREAMAPP_CHANNEL","\"com.qnt|db288fe7d1e89fa4|0123456789|RongYao\""manifestPlaceholders=[DCLOUD_STREAMAPP_CHANNEL:"com.qnt|db288fe7d1e89fa4|0123456789|RongYao"]}MeiZu{buildConfigField"String","DCLOUD_STREAMAPP_CHANNEL","\"com.qnt|db288fe7d1e89fa4|0123456789|MeiZu\""manifestPlaceholders=[DCLOUD_STREAMAPP_CHANNEL:"com.qnt|db288fe7d1e89fa4|0123456789|MeiZu"]}GDT{buildConfigField"String","DCLOUD_STREAMAPP_CHANNEL","\"com.qnt|db288fe7d1e89fa4|0123456789|GDT\""manifestPlaceholders=[DCLOUD_STREAMAPP_CHANNEL:"com.qnt|db288fe7d1e89fa4|0123456789|GDT"]}SAMSUNG{buildConfigField"String","DCLOUD_STREAMAPP_CHANNEL","\"com.qnt|db288fe7d1e89fa4|0123456789|SAMSUNG\""manifestPlaceholders=[DCLOUD_STREAMAPP_CHANNEL:"com.qnt|db288fe7d1e89fa4|0123456789|SAMSUNG"]}}}dependencies{implementationfileTree(dir:'libs',include:['*.aar','*.jar'],exclude:[])implementation libs.appcompat implementation libs.material implementation libs.activity implementation libs.constraintlayout implementation'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'implementation'androidx.core:core:1.6.0'implementation"androidx.fragment:fragment:1.1.0"implementation'androidx.recyclerview:recyclerview:1.1.0'implementation'androidx.webkit:webkit:1.5.0'implementation'androidx.legacy:legacy-support-v4:1.0.0'implementation'com.facebook.fresco:fresco:2.5.0'implementation"com.facebook.fresco:animated-gif:2.5.0"implementation'com.alibaba:fastjson:1.2.83'implementation'com.github.bumptech.glide:glide:4.9.0'// 微信implementation'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.7.9'// 支付宝implementation'com.alipay.sdk:alipaysdk-android:15.8.11'implementation"net.lingala.zip4j:zip4j:2.11.5"implementation'com.squareup.okhttp3:okhttp:4.9.0'implementation'com.squareup.okio:okio:2.9.0'// implementation project(':uniplugin_module')implementationproject(':qnt_module')testImplementation libs.junit androidTestImplementation libs.ext.junit androidTestImplementation libs.espresso.core}

二、模块AndroidManifest.xml

提示:将这块代码放到 <application> 里面

<meta-dataandroid:name="DCLOUD_STREAMAPP_CHANNEL"android:value="${DCLOUD_STREAMAPP_CHANNEL}"/>

三、uniapp代码使用教程

plus.runtime.channel 获取渠道 plus.runtime.version 获取版本号 1.0.0 plus.runtime.versionCode 获取code 1 if(plus.runtime.isApplicationExist({pname:'com.tencent.mm',action:'weixin://'})){ console.log("微信应用已安装"); }else{ console.log("微信应用未安装"); } plus.runtime.appid 获取包名,需要云打包或者离线打包才能正确获取

四、打包处理

提示:有以下显示说明配置成功,具体自行验证是否生效

总结

多渠道打包的核心目的是便于管理和发布不同版本的应用,减少开发的重复劳动,同时提供定制化的功能和更好的数据分析能力,帮助开发者在不同的渠道和市场中更好地推广和管理应用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 1:22:12

SI2301S-ASEMI工业控制专用SI2301S

编辑&#xff1a;LLSI2301S-ASEMI工业控制专用SI2301S型号&#xff1a;SI2301S品牌&#xff1a;ASEMI沟道&#xff1a;PNP封装&#xff1a;SOT-23漏源电流&#xff1a;-2.3A漏源电压&#xff1a;-20VRDS(on):108mΩ批号&#xff1a;最新引脚数量&#xff1a;3封装尺寸&#xff…

作者头像 李华
网站建设 2026/5/9 1:22:38

GifCam 不只能录 GIF!教你导出 AVI 再转 MP4 的完整流程

GifCam 是一款轻量、免费且无需安装的屏幕录制小工具&#xff0c;最初以录制 GIF 动画而闻名。但很多人不知道的是&#xff0c;它其实也能用来录制视频&#xff08;如 AVI 格式&#xff09;&#xff0c;再通过格式转换生成 MP4 文件&#xff0c;非常适合制作简短的操作演示或软…

作者头像 李华
网站建设 2026/5/9 1:22:17

React-chartjs-2 数据集管理:3个关键问题与解决方案

React-chartjs-2 数据集管理&#xff1a;3个关键问题与解决方案 【免费下载链接】react-chartjs-2 React components for Chart.js, the most popular charting library 项目地址: https://gitcode.com/gh_mirrors/re/react-chartjs-2 React-chartjs-2 是Chart.js最流行…

作者头像 李华
网站建设 2026/5/9 1:22:12

从零开始掌握Quartus II八位移位寄存器设计与仿真

从零开始掌握Quartus II八位移位寄存器设计与仿真 【免费下载链接】QuartusII八位移位寄存器仿真文件 本资源文件包含了一个在Quartus II软件中制作的八位移位寄存器电路设计。该电路设计使用了74ls74触发器&#xff0c;并通过Quartus II的电路仿真功能进行了仿真。通过波形仿真…

作者头像 李华