news 2026/4/3 3:27:53

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/3/30 8:33:39

Linux系统常用命令集合

写在前面&#xff1a;我们平时若在Linux操作系统中进行开发或测试时&#xff0c;需要涉及一些终端Linux 操作命令使用&#xff0c;为帮助读者提高效率&#xff0c;了解更详细的命令&#xff0c;这里对常用的Linux系统操作命令进行了简单汇总。 目录 一、文件与目录操作 二、系…

作者头像 李华
网站建设 2026/3/29 5:46:59

monorepo前端解析,零基础入门到精通,收藏这篇就够了

Monorepo架构 现代前端工程开发的趋势和痛点 趋势痛点 一、Monorepo 简介及其与包管理工具&#xff08;npm、yarn、pnpm&#xff09;之间的关系二、项目开发与管理模式 Monolithic&#xff08;单体应用&#xff09;开发模式Multirepo&#xff08;多仓多模块&#xff09;开发模…

作者头像 李华
网站建设 2026/3/31 0:53:18

豆瓣评分 9.4,为什么很多人都在推荐这本书?几页就能让你看懂!

作为一个对 LLM 工作原理很感兴趣&#xff0c;但又常常被各种零散教程绕晕的人&#xff0c;我读完 Sebastian Raschka 的《从零构建大模型》之后&#xff0c;其实挺松一口气的。 我原本以为这本书要么会过度简化、要么会高度抽象&#xff0c;甚至可能出现那种你先接受这个公式就…

作者头像 李华
网站建设 2026/3/23 5:12:01

肖阳《雪域使命》今日上映 坚守高原展现援藏担当

今日&#xff0c;由合肥丰润文化传媒有限公司出品&#xff0c;北京、安徽建藏援藏工作者协会联合摄制的电影《雪域使命》正式上映。该片聚焦两代援藏人的接力奋斗&#xff0c;演员肖阳在片中饰演青年援藏者蒲熠星&#xff0c;以真挚的情感演绎高原故事&#xff0c;展现新时代援…

作者头像 李华
网站建设 2026/3/27 10:11:39

Ncorr免费2D数字图像相关软件:5步快速掌握材料变形分析

Ncorr免费2D数字图像相关软件&#xff1a;5步快速掌握材料变形分析 【免费下载链接】ncorr_2D_matlab 2D Digital Image Correlation Matlab Software 项目地址: https://gitcode.com/gh_mirrors/nc/ncorr_2D_matlab Ncorr是一款基于MATLAB的开源2D数字图像相关分析工具…

作者头像 李华