BaseApp
这是一个Android app的基础框架;
1、BuildType不是release时自定在applicationid后面添加对应BuildType作为后缀,让不同版本的安装包可以共存;
2、根据BuildType不同打包时动态修改应用程序名称,方便测试;
3、发布版本和开发版本(包含测试版本)使用分开的版本号控制;
UI
1、使用butterknife作为控件绑定;
2、引入com.zhy:percent-support-extends框架,扩展ViewGroup支持百分比布局;
网络
1、默认添加了gson处理网络数据;
默认的混淆配置文件会忽略**.entities.**下面的所有类,建议gson的model包名都以这种方式命名(当然你也可改成你喜欢的,只不过需要修改app\proguard-rules.pro文件);
2、添加okhttp3做底层网络传输层;
第三方统计
1、使用umeng的用户统计和错误统计(注意替换app\src\main\AndroidManifest.xml文件中UMENG_APPKEY的值为你申请到的key)
多渠道打包
添加com.mcxiaoke.gradle:packer-helper库,支持多渠道打包;
多渠道打包测试通过,是使用命令行的gradle命令的方式,这就要求在PATH(环境变量中配置gradle),当前使用的时候gradle2.8,当然你可以升到2.10(修改gradle\wrapper\gradle-wrapper.properties 和gradle-plugins的版本);
打包命令:gradle clean apkDev(apkRelease)。默认情况dev版本的versionName会添加cvs版本号后缀(版本控制是svn时获取Revison,git时获取提交的hash);