安卓马甲包代上架

您当前的位置:主页 > 新加版块右 > 安卓马甲包代上架 >

【安卓马甲包上架】Android应用开发最佳实践:马甲包配置管理

来源:未知 编辑:admin 发布时间:2024-02-21 共人阅读
 
在过去的半年时间中,由于行业大环境的恶化,App产品需求一直处于停滞状态,接到的都是市场导向的马甲包需求。随着马甲包的不断增多,build.gradle文件的内容长度开始变得难以接受,于是优化之旅随之展开。
 
优化前
由于数据敏感等原因,进行了简化脱敏处理
 
如图所示由于我们采用的是productFlavor来制作马甲包,所以造成build.gradle变长的元凶也就是productFlavor节点,这一次的优化也就针对它来进行。
 
在我们的APP中,针对每个马甲包配置的第三方key或其它属性共有22个,当马甲包数量到达10个之后,单这部分配置就达到了近300行,每次要新增加一个马甲,需要费不少时间在庞大的文件中找到空间去新增配置,且在一大堆文字当中,容易遗漏需要修改的配置。
 
优化后
在Android项目中的properties大阅兵一文中,我曾为了实现脱敏将一些Key放到local.properties中,然后在build.gradle中去动态读取。这一次依然可以用这种形式,将这些配置抽到独立的配置文件中以供读取。
 
创建product对应的配置文件
首先,在项目根目录下创建一个config目录来规整马甲包的配置文件。然后在config目录下,创建若干命名格式为${flavor_name}_config.properties的配置文件。最后将每个马甲的参数以Key=Value的形式配置到对应的文件中,并删除build.gradle中的这些配置。
 
注意,${flavor_name}必须和build.gradle中的productFlavors的key保持一致,否则会造成无法正确读取到配置。
 
修改build.gradle
在完成配置文件的创建工作之后,就需要在build.gradle中根据需要去读取这些配置了,这里不多做解释,直接上代码:
 
android {
    flavorDimensions "default"
 
    productFlavors {
        product1 {}
        product2 {}
        product3 {}
    }
 
    productFlavors.each { flavor ->
 
        def props = new Properties()
        file("../config/${flavor.name}_config.properties").withInputStream { props.load(new InputStreamReader(it,"utf-8")) }
 
        flavor.dimension "default"
 
        def application_id = props.getProperty("application_id")
        def app_name = props.getProperty("app_name")
        def color_primary = props.getProperty("color_primary")
        def color_accent = props.getProperty("color_accent")
        def primary_text_dark = props.getProperty("primary_text_dark")
        def version_name = props.getProperty("version_name")
        def scheme = props.getProperty("scheme")
        def gio_project_id = props.getProperty("gio_project_id")
        def gio_scheme = props.getProperty("gio_scheme")
        def um_key = props.getProperty("um_key")
        def amap_key = props.getProperty("amap_key")
        def jpush_key = props.getProperty("jpush_key")
        def bugly_key = props.getProperty("bugly_key")
 
        flavor.applicationId application_id
        flavor.versionName version_name 
        flavor.manifestPlaceholders = [
                JPUSH_PKGNAME       : application_id,
                ROUTER_SCHEME       : scheme,
                JPUSH_APPKEY        : jpush_key,
                growingio_url_scheme: gio_scheme,
                UM_KEY              : um_key,
                AMAP_KEY            : amap_key
        ]
 
        flavor.resValue "color", "colorPrimary", color_primary
        flavor.resValue "color", "colorAccent", color_accent
        flavor.resValue "color", "primary_text_dark", primary_text_dark
        flavor.resValue "string", "app_name", app_name
        flavor.resValue "string", "growingio_project_id", "\"${gio_project_id}\""
        flavor.resValue "string", "growingio_url_scheme", gio_scheme
        flavor.buildConfigField "String", "AMAP_KEY", "\"${amap_key}\""
        flavor.buildConfigField "String", "ROUTER_SCHEME", "\"${scheme}\""
        flavor.buildConfigField "String", "UM_KEY", "\"${um_key}\""
        flavor.buildConfigField "String", "BUGLY_KEY", "\"${bugly_key}\""
}
这里需要注意的是,在将配置文件加载到Properties中时,必须要明确定义charset_name,否则中文会出现乱码。
 
最后
经过上面的一系列修改,最终得到的效果是,build.gradle内容长度从500+降低到300-,且后续有新马甲需求的时候,该文件只会增加1行/马甲包。

风赚网专注购买苹果开发者账号购买苹果开发者个人账号购买苹果开发者公司账号购买苹果开发者企业账号购买iOS开发者账号iOS开发者账号购买苹果开发者账号购买苹果开发者账号个人购买苹果开发者公司账号购买苹果开发者企业账号购买出售苹果开发者账号出售苹果开发者个人账号出售苹果开发者公司账号出售苹果开发者企业账号出售iOS开发者账号超级签名TF签名企业签名苹果TestFlight签名苹果ios超级签名苹果马甲包上架开发苹果IOS应用商店代上架苹果APP代上架苹果马甲包上架苹果马甲包现包苹果马甲包购买出售购买苹果马甲包安卓马甲包上架安卓谷歌马甲包上架开发安卓谷歌APP代上架安卓谷歌马甲包现包谷歌马甲包上架安卓谷歌马甲包购买出售购买安卓谷歌马甲包安卓IOS应用商店代上架小米代上架华为代上架vivo代上架应用宝代上架oppo代上架软件著作申请苹果ASO安卓ASO小米ASO华为ASO谷歌ASO谷歌开发者账号小米开发者账号华为开发者账号应用宝开发者账号
 
  • 本文地址:http://www.fengtoup2p.com/xinjiabankuaiyou/anzhuomajiabao/2024/0221/4061.html
  • 本文题目:【安卓马甲包上架】Android应用开发最佳实践:马甲包配置管理

上一篇:【苹果马甲包上架】Android配置马甲包

下一篇:没有了




友情链接
风赚网 小米应用商店代上架 华为应用商店代上架 安卓应用市场代上架 IOS应用商店代上架 APP马甲包开发上架 购买苹果开发者企业 购买开发者个人账号 出售苹果开发者账号 出售开发者个人账号 imtoken马甲包 出售开发者企业账号 回收开发者账号 回收开发者企业账号 赚钱网站 数字钱包马甲包 苹果testflight签名 数字钱包 购买谷歌开发者账号 购买小米开发者账号 苹果APP代上架 苹果马甲包制作 赚钱网站 赚钱游戏 苹果马甲包定制开发 苹果马甲包 APP软件著作申请 数字货币 比特派马甲包 购买苹果马甲包 购买安卓马甲包 出售苹果马甲包 出售安卓马甲包 购买苹果开发者账号 购买华为开发者账号 安卓APP代上架 imtoken官方下载 应用宝APP代上架 苹果超级签名 苹果企业签名 APP软著代办 马甲包上架 苹果TF签名 苹果马甲包 马甲包上架 谷歌马甲包 安卓马甲包 OPendime马甲包 库神钱包马甲包 MetaMask马甲包 KeepKey马甲包 Polkawallet马甲包 Coinbase Wallet马甲包 hyperpay马甲包 AToken马甲包 极客钱包马甲包 Trezor钱包马甲包 Kcash钱包马甲包 Cobo钱包马甲包 Mist钱包马甲包 RHY钱包马甲包 imtoken官方下载APP bitpie官方下载 metamask官方下载 metamask马甲包 欧易官网 火币官网 币安官网 赚钱平台 苹果开发者账号购买 苹果开发者个人账号 苹果开发者公司账号 苹果企业开发者账号 苹果开发者账号 苹果开发者个人账号 赚钱方法 苹果公司开发者账号