Android studio中的target,同一个项目多种应用打包

今天在思考整理应用架构部分的时候,想起几个月前做的一件事,我们项目当时有个需求,对同一个应用,部分修改后进行发布,在iOS中通过Xcode中的target可以非常方便使用。但是Android中,一般来说,包名的确定是通过applicaiton的packagename字段来确认,而由于Android开发中需要使用资源索引,即R.java文件的原因,更改起来非常麻烦,需要修改代码的包名之后,将各个错误的地方进行修改。


但其实我查找了一下,发现在Android studio中,其实有很多非常简单的做法,不需要做很多的事情,就可以做到一套代码来维护两个APK。就是利用productflavor中的applicationId属性,这样既不需要修改manifest的packageName,也不需要修改代码,直接使用这个属性就可以,甚至根据google官方所说,对于同一个公司的应用,非常推荐使用同一个签名文件,这样连签名文件都不需要修改即可。如果产品的productflavor不是很复杂,甚至也可以做到iOS中那样target一样方便,配置好之后,后续发包甚至可以同时构建不同的产品。


1. http://blog.robustastudio.com/mobile-development/android/building-multiple-editions-of-android-app-gradle/ 

2.http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename

你可能感兴趣的:(Android studio中的target,同一个项目多种应用打包)