Android使用productFlavors打不同包名的包
来源:互联网 发布:本地连接网络使用率 编辑:程序博客网 时间:2024/06/04 00:26
近期得到这样一个需求,产品要求在原有项目功能不变动的情况下重新打包一个不同包名不同应用名不同图标的应用方便测试进行功能试验。所以就有了下面这篇文章,可能写的不太完善,仅供大家参考。如果大家有更好的方案欢迎留言评论,大家共同进步。
首先在APP下的build.gradle中配置
productFlavors
productFlavors { wisdom { //基础版本. applicationId "应用包名" resValue "string", "app_name", "应用名称" manifestPlaceholders = [app_icon : "应用图标", package_name : applicationId, //下面这些配置根据自己需求进行各自配置 WEIBO_APPKEY : "微博APPKEY", JPUSH_PKGNAME: 接受推送的包名, JPUSH_APPKEY : "极光推送的APPKEY", //JPush上注册的包名对应的appkey. JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可. ] } sim { //新版本 applicationId "新的应用包名" resValue "string", "app_name", "新的应用名称" manifestPlaceholders = [app_icon : "新的应用图标", package_name : applicationId, WEIBO_APPKEY : "微博APPKEY", JPUSH_PKGNAME: 接受推送的包名, JPUSH_APPKEY : "极光推送的APPKEY", //JPush上注册的包名对应的appkey. JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可. ] }}
这就是在build.gradle中进行的配置。
下面还需要在AndroidManifest.xml文件中进行一些修改.
首先application中
android:icon="${app_icon}"icon图不能写成固定的,要根据gradle中配置的进行更改。
好了配置到这样基本大功告成了,现在信心满满高高兴兴的运行项目了。。。
高兴、开心、兴奋。。。。。
阿西吧,我明明改过包名也进行过相关配置了啊,怎么还让我卸载原有的APP。。
经过一顿查阅资料,原来是provider权限问题导致的。。那怎么解决呢 。。
其实也没有那么难,只需要在AndroidManifest.xml文件中进行provider的配置即可。。
具体如下:
<provider android:name="android.support.v4.content.FileProvider" android:authorities="${package_name}.provider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" /></provider>
android:authorities="${package_name}.provider"主要是这一行的配置,原来这里我是写死的才会导致让我卸载原有应用,一定注意这一行配置一定要写成和gradle中配置的相应的包名。。
现在运行,OK两个应用能够共存了。。
阅读全文
0 0
- Android使用productFlavors打不同包名的包
- gradle中使用productFlavors实现不同渠道包的应用名不同和logo不同
- 打不同包名的包
- gradle 打不同包名的apk
- Android studio 打渠道包,同一工程不同包名
- mvn不同环境打不同的包
- Android批量打不同的渠道包方法-使用第三方插件
- android用ant打出不同包名的apk
- 多渠道打包,生成不同包名的包
- 使用Android Studio打Andorid apk包的流程
- 使用Android Studio打jar包的步骤
- [Android]使用命令行打APK包
- Android使用命令行打APK包
- Android使用Ant批量打渠道包
- HTML5应用使用PhoneGap打Android包
- 使用Gradle打Android渠道包
- Android实战-使用gradle打多渠道包
- Android 使用Ant打渠道包
- 虚拟机安装ubuntu server及工作环境搭建
- Golang从入门到精通(二十):Golang错误处理之error
- Android TV(一)(入门准备)
- TensorFlow 中文文档 介绍
- 经纬度表示法
- Android使用productFlavors打不同包名的包
- darknet源码分析之detect
- 文件上传的三种模式
- MySQL 远程权限
- 线程并发学习----线程阻塞(lock)
- 第十三周项目三
- ThinkPHP框架where条件封装的几个小知识点
- 15周 项目3
- Pygame 学习笔记(3)