我们知道在 build.gradle 里面可以使用 buildTypes 针对自己 app 做一些 custom setup,例如同时在同一设备上安装 debug 和 release 版本
简单方便的方法:
buildTypes {
debug {
applicationIdSuffix ".debug"
signingConfig signingConfigs.myConfig
versionNameSuffix='d'
}
...
}
这里有个坑,如果你的应用有自定义的 view 或者属性时,需要在资源文件里将命名空间修改如下:
xmlns:app="http://schemas.android.com/apk/com.package.name"
to
xmlns:app="http://schemas.android.com/apk/res-auto"
就为了上面这一句我那坑爹的程序猿哥们坑了我半个工作日!! 我还尝试了去改 java 包名..一把泪
另外如果你的应用如果有用到 Contentprovider,需要 AndroidManifest 里面对 authorities 少许修改下:
<provider
android:name=".provider.AppContentProvider"
android:authorities="${applicationId}.provider"
android:multiprocess="false" />
继续 Code 里面补上一句,BuildConfig 会在你编译的时候读取你 build.gradle 里面设置的 applicationID
public static final String AUTHORITY = BuildConfig.APPLICATION_ID + ".provider";
Ok,That's it ! 希望能节省你们宝贵的工作时间!