Android 开发之Android Studio使用小技巧
作为安卓开发人员,产品开发完成后,打包发布到应用市场是必须经历的一个步骤,在这里记录一下自己最近觉得Android Studio在构建项目比较方便的一点心得,比如多渠道,比如多渠道差异化开发等。
这里先说下渠道差异化开发,比如各应用市场对产品开屏页、引导页需要体现应用市场的标识,比如三星应用商店需要引导页里体现三星手机的标记,简单点需要替换引导页图片,但是如果是多渠道打包时,其他渠道不需要修改我们该怎么办呢?这里就要用到as的一个小技巧了。
首先,我们在考虑多渠道时,需要在productFlavors里配置不同的渠道,我要配置的是三星应用市场的渠道(三星应用商店是渠道名),如下图
配置的渠道为三星应用市场,一般一对大括号就可以了,由于我的项目里需要用不同的渠道标识来区分渠道,manifestPlaceholders 用来替换在AndroidManifest文件中的占位符:
这样每个渠道就可以设置成不同的渠道标识了,不需要不停的修改Manifest文件了。
经过上边的配置,在as中我们可以切换BuildVariants来开发调试不同渠道的产品了
如图:正在编译调试的是要上线到三星应用商店的产品,调试时我们可以通过获取渠道标识来区分不同渠道了,当然,到现在仅仅是从配置上区分了不同渠道,接下来我们继续,在项目的src目录下创建三星应用商店的目录(和渠道名要对应,如果想要差异化开发其他取到因公,重复上边步骤即可,需要注意的是Build Variant中切换到哪个渠道,对应目录里的代码和资源才是可用的,暂时不在这里演示),由于我们要差异化的是引导页的图片,所以只需要在目录下建立res\drawable-xxhdpi的目录,把需要替换的引导图放到这个目录里就行了(我的项目通过洪洋的AutoLayout进行适配,默认适配1080*1920,所以资源只放到了xxhdpi的目录里)如图:
,到现在为止我们替换图片的操作就完成了。
需要注意的是替换的资源文件名和原来的保持一致,避免修改代码。
整个过程看着有点复杂,但是,随着我们上线的渠道的增多,差异也会增多,这样做的好处是不用每次为每个渠道去替换资源,单独打包apk了,同时也会避免一个apk包里存在多张无用图片,减小了apk文件的大小,个人感觉这还算一种比较优雅的开发方式,你觉得呢?
*做安卓开发有段时间了,感觉自己技术挺杂的,也该总结总结了。
希望通过接下来的总结,可以提升下自己,写的不好,希望和博友沟通交流,相互学习,共同进步,感谢,感谢!