公司到后面越来越多时候是在基础版本上做更改,提供出OEM版本Demo,网上有很多这样例子,自己也效仿者做了一个,写在这里做记录。

主要是通过在app/build.gradle配置

android {***    productFlavors {        //开发环境        develop {            buildConfigField "int", "ENV_TYPE", "1"            applicationId 'om.soubu.walledemo.develop'            resValue("string","dynamic_text","oem1的动态文字")            manifestPlaceholders = [                    app_name: "开-WalleDemo",                    app_icon: "@drawable/icon_develop",                    oemImage : "@drawable/oem1"            ]        }        //测试环境        check {            buildConfigField "int", "ENV_TYPE", "2"            applicationId 'om.soubu.walledemo.check'            resValue("string","dynamic_text","oem2的动态文字")            manifestPlaceholders = [                    app_name: "测-WalleDemo",                    app_icon: "@drawable/icon_check",                    oemImage : "@drawable/oem2"            ]        }        //生产环境        product {            buildConfigField "int", "ENV_TYPE", "3"            applicationId 'com.soubu.walledemo.product'            resValue("string","dynamic_text","oem3的动态文字")            manifestPlaceholders = [                    app_name: "WalleDemo",                    app_icon: "@drawable/icon_product",                    oemImage : "@drawable/oem3"            ]        }    }}
配置完后在AndroidManifest.xml中填写String 或者ImageView的占位符

注意配置APP的logo与名字,还有资源文件的标签

    android:allowBackup="true"    android:icon="${app_icon}"    android:label="${app_name}"    android:supportsRtl="true"    android:theme="@style/AppTheme">    android:name=".MainActivity">                    android:name="android.intent.action.MAIN"/>            android:name="android.intent.category.LAUNCHER"/>                        android:name="OEM_Image"        android:resource="${oemImage}"        />
在代码中去根据不同的版本信息进行

img.setImageResource(Util.getMetaDataInt(this,"OEM_Image"));
tvChannel.setText(R.string.dynamic_text);

参考了两个Demo.附上链接

Android利用Gradle多渠道打包如何动态替换资源,文字

还有一个好像是walle的一个Demo,但是我找不到地址了就把它github附上吧

walle


Demo下载

源码下载

更多相关文章

  1. android 动态调试 遇到的问题
  2. Android(安卓)studio新建项目之后由于gradle配置问题导致项目无
  3. 谈谈Android中WIFI 架构和控制流程
  4. android初入门工具及配置
  5. IJKPlayer 实现视频播放业务
  6. 2.7-2 Android(安卓)studio gradle 文件 配置完整版
  7. Android(安卓)Wifi的工作流程
  8. Andriod(三):配置文件build.gradle与AndroidManifest.xml
  9. Google Analytics Advanced Configuration - Google Analytics

随机推荐

  1. eclipse - An internal error occurred d
  2. 如何在Windows下配置Android的Eclipse开
  3. Android中通过按键旋转屏幕
  4. 深入理解数据结构
  5. Android 浅析View的事件分发机制
  6. APK权限大全 - Android必懂知识
  7. android findViewById
  8. iScroll框架解析——Android(安卓)设备页
  9. 手机安全卫士06
  10. Android Framework层Power键关机流程