西安响应式网站建设服务提供商,防红链接在线生成,网上免费个人网站,软文范例大全500字Android离线多渠道打包教程 前言一、原生build.gradle文件配置#xff1f;二、模块AndroidManifest.xml三、uniapp代码使用教程四、打包处理总结 前言
Android 需要多渠道打包的主要原因是 支持不同的设备、市场和用户需求。通过多渠道打包#xff0c;可以将一个应用根据不同…Android离线多渠道打包教程前言一、原生build.gradle文件配置二、模块AndroidManifest.xml三、uniapp代码使用教程四、打包处理总结前言Android 需要多渠道打包的主要原因是 支持不同的设备、市场和用户需求。通过多渠道打包可以将一个应用根据不同的目标市场、设备配置、网络环境、语言等因素生成多个定制化的 APK从而提高应用发布的灵活性和覆盖面。一、原生build.gradle文件配置plugins{alias(libs.plugins.android.application)}android{namespacecom.qntcompileSdk35defaultConfig{applicationIdcom.qntminSdk21targetSdk35versionCode1versionName1.0.0multiDexEnabledtruendk{abiFilters/*x86,*/armeabi-v7a,arm64-v8a}testInstrumentationRunnerandroidx.test.runner.AndroidJUnitRunner// 定义动态的 BuildConfig 字段buildConfigFieldString,DCLOUD_STREAMAPP_CHANNEL,\com.qnt|db288fe7d1e89fa4|0123456789|release\}sourceSets{main{assets.srcDirs[src/main/assets]}}aaptOptions{additionalParameters--auto-add-overlayignoreAssetsPattern!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~}signingConfigs{release{storeFilefile(../jnt.jks)storePasswordjtkeyAliasjaliaskeyPasswordjtv1SigningEnabledtrue//兼容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{buildConfigtrue// Enable BuildConfig generation}flavorDimensionsdefaultproductFlavors{APP_CHANNEL_DOU{buildConfigFieldString,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{buildConfigFieldString,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{buildConfigFieldString,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{buildConfigFieldString,DCLOUD_STREAMAPP_CHANNEL,\com.qnt|db288fe7d1e89fa4|0123456789|4_APP_CHANNEL_BAIDU\manifestPlaceholders[DCLOUD_STREAMAPP_CHANNEL:com.qnt|db288fe7d1e89fa4|0123456789|4_APP_CHANNEL_BAIDU]}huawei{buildConfigFieldString,DCLOUD_STREAMAPP_CHANNEL,\com.qnt|db288fe7d1e89fa4|0123456789|huawei\manifestPlaceholders[DCLOUD_STREAMAPP_CHANNEL:com.qnt|db288fe7d1e89fa4|0123456789|huawei]}xiaomi{buildConfigFieldString,DCLOUD_STREAMAPP_CHANNEL,\com.qnt|db288fe7d1e89fa4|0123456789|xiaomi\manifestPlaceholders[DCLOUD_STREAMAPP_CHANNEL:com.qnt|db288fe7d1e89fa4|0123456789|xiaomi]}vivo{buildConfigFieldString,DCLOUD_STREAMAPP_CHANNEL,\com.qnt|db288fe7d1e89fa4|0123456789|vivo\manifestPlaceholders[DCLOUD_STREAMAPP_CHANNEL:com.qnt|db288fe7d1e89fa4|0123456789|vivo]}oppo{buildConfigFieldString,DCLOUD_STREAMAPP_CHANNEL,\com.qnt|db288fe7d1e89fa4|0123456789|oppo\manifestPlaceholders[DCLOUD_STREAMAPP_CHANNEL:com.qnt|db288fe7d1e89fa4|0123456789|oppo]}a360{buildConfigFieldString,DCLOUD_STREAMAPP_CHANNEL,\com.qnt|db288fe7d1e89fa4|0123456789|360\manifestPlaceholders[DCLOUD_STREAMAPP_CHANNEL:com.qnt|db288fe7d1e89fa4|0123456789|360]}YYB{buildConfigFieldString,DCLOUD_STREAMAPP_CHANNEL,\com.qnt|db288fe7d1e89fa4|0123456789|YYB\manifestPlaceholders[DCLOUD_STREAMAPP_CHANNEL:com.qnt|db288fe7d1e89fa4|0123456789|YYB]}RongYao{buildConfigFieldString,DCLOUD_STREAMAPP_CHANNEL,\com.qnt|db288fe7d1e89fa4|0123456789|RongYao\manifestPlaceholders[DCLOUD_STREAMAPP_CHANNEL:com.qnt|db288fe7d1e89fa4|0123456789|RongYao]}MeiZu{buildConfigFieldString,DCLOUD_STREAMAPP_CHANNEL,\com.qnt|db288fe7d1e89fa4|0123456789|MeiZu\manifestPlaceholders[DCLOUD_STREAMAPP_CHANNEL:com.qnt|db288fe7d1e89fa4|0123456789|MeiZu]}GDT{buildConfigFieldString,DCLOUD_STREAMAPP_CHANNEL,\com.qnt|db288fe7d1e89fa4|0123456789|GDT\manifestPlaceholders[DCLOUD_STREAMAPP_CHANNEL:com.qnt|db288fe7d1e89fa4|0123456789|GDT]}SAMSUNG{buildConfigFieldString,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 implementationandroidx.localbroadcastmanager:localbroadcastmanager:1.0.0implementationandroidx.core:core:1.6.0implementationandroidx.fragment:fragment:1.1.0implementationandroidx.recyclerview:recyclerview:1.1.0implementationandroidx.webkit:webkit:1.5.0implementationandroidx.legacy:legacy-support-v4:1.0.0implementationcom.facebook.fresco:fresco:2.5.0implementationcom.facebook.fresco:animated-gif:2.5.0implementationcom.alibaba:fastjson:1.2.83implementationcom.github.bumptech.glide:glide:4.9.0// 微信implementationcom.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.7.9// 支付宝implementationcom.alipay.sdk:alipaysdk-android:15.8.11implementationnet.lingala.zip4j:zip4j:2.11.5implementationcom.squareup.okhttp3:okhttp:4.9.0implementationcom.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:nameDCLOUD_STREAMAPP_CHANNELandroid: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 获取包名需要云打包或者离线打包才能正确获取四、打包处理提示有以下显示说明配置成功具体自行验证是否生效总结多渠道打包的核心目的是便于管理和发布不同版本的应用减少开发的重复劳动同时提供定制化的功能和更好的数据分析能力帮助开发者在不同的渠道和市场中更好地推广和管理应用。