[Android] 一份代码,两个版本

维护同一份代码,编译两个版本,需要修改包名。具体如下:

(1)右击项目名称 --> Android Tools --> Rename Application Package ,一键修改包名

(2)在同一个手机上同时安装这两个版本时,会提示INSTALL_FAILED_CONFLICTING_PROVIDER 错误,解决办法是修改AndroidManifest.xml中provider的android:authorities值,例如:

在版本V1中使用

<provider android:name="DataProvider"
    android:authorities="com.testv1.app.provider">
</provider>

在版本V2中则使用

<provider android:name="DataProvider"
    android:authorities="com.testv2.app.provider">
</provider>

,这样即可解决INSTALL_FAILED_CONFLICTING_PROVIDER 错误。

时间: 2024-10-06 02:35:13

[Android] 一份代码,两个版本的相关文章

React-Native 开发 android & ios App,共享一份代码

React-Native 开发的App, 所有组件ios & android 共用, 共享一份代码 包括一些自定义的组件, 如NavigationBar, TabBar, SegmentedControl, 使用字体图标, 具有一定的参考意义 主要专注于布局, 共享组件/代码, 以及一些React自带的组件, 如: ScrollView, TouchableOpacity, View, Text, ListView, Image, WebView 和 Api的使用, 这并不是一个完整版, 只是业

Android 更新UI的两种方法——handler和runOnUiThread() - $firecat的代码足迹$ - 博客频道 - CSDN.NET

文章来源:http://www.2cto.com/kf/201302/190591.html Android 更新UI的两种方法——handler和runOnUiThread() 在Android开发过程中,常需要更新界面的UI.而更新UI是要主线程来更新的,即UI线程更新.如果在主线线程之外的线程中直接更新页面显示常会报错.抛出异常:android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread th

Android开发——利用productFlavors实现一套代码打包多版本

一.需求背景 实际项目开发过程中,经常会遇到这样的场景:一个项目要根据需要打包成多个存在差异的版本,比如对外版本.对内版本,或者开发版本.测试版本.线上版本等等--那么如何通过维护一套代码的前提下实现打包多版本的需求呢?在Android Studio中我们可以使用productFlavors来实现这样的需求. 二.创建差异化版本目录结构 根据版本的差异化在src目录下创建对应的java文件夹,如下图: 创建external与internal版本,将版本差异化的代码文件放在这2个目录对应的文件夹下

Cocos2d-x移植到Android平台编译的两个文件Android.mk和Application.mk

背景 首先,说说文章的背景.最近手中的一个项目,由于需求中要求提供Web界面的打印功能,当然如果没有打印机,还可以提供保存到本地.项目组长把这个"小任务"分给了我.本着努力为组长分忧解难的思想,领了任务之后,就马上开始了工作. 问题 刚开始的时候,组长给了一个工具(jatoolsprinter)让我研究,我用了一个多小时的时间,做出了一个简单的Demo,然后就是各种的测试,由于 web 打印需要浏览器安装 ActiveX 组件,在随后的测试中,我用了几款浏览器,甚至把安全级别都调到了最

Android 实现高斯模糊效果及低版本兼容

Android 实现高斯模糊效果及低版本兼容 Hello,好久不见,好久没写博客了,总结了下原因有三,第一,变懒了:第二,变懒了:第三,还是变懒了:因为任何不更新博客的理由都是借口! 一.效果演示 项目中用到了高斯模糊效果,查阅过一些资料,考虑到性能问题最终还是选择使用Android自带的RenderScript库来实现,关于使用RenderScript来实现高斯模糊网上也有很多类似的方法,大部分都总结的比较乱,此处算是做一个整理吧,供有类似需求的同学参考及学习.           (项目效果

android SDK manager 无法获取更新版本列表【转载】

http://mirrors.neusoft.edu.cn/eclipse/releases/luna/打开这个网址就可以看到adt的详细信息:  http://developer.android.com/sdk/installing/installing-adt.html 或者直接在你的eclipse的Help > Install New Software里面add,地址直接输入 https://dl-ssl.google.com/android/eclipse/https://dl-ssl.

ANDROID中FRAGMENT的两种创建方式

fragment是Activity中用户界面的一个行为或者是一部分.你可以在一个单独的Activity上把多个Fragment组合成为一个多区域的UI,并且可以在多个Activity中再使用.你可以认为fragment是activity的一个模块零件,它有自己的生命周期,接收它自己的输入事件,并且可以在Activity运行时添加或者删除. 两个概念:Fragment.宿主 fragment的生命周期直接受其宿主activity的生命周期的影响.例如,一旦activity被暂停,它里面所有的fra

[转] Android SDK manager 无法获取更新版本列表

打开这个网址(LINK)就可以看到adt的详细信息. 或者直接在你的eclipse的Help > Install New Software里面add,地址直接输入 https://dl-ssl.google.com/android/eclipse/ https://dl-ssl.google.com/android/eclipse/ 到Android SDK官网下载ADT离线升级包 http://developer.android.com/sdk/installing/installing-ad

Android常用功能代码块

1.设置activity无标题,全屏 // 设置为无标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); // 设置为全屏模式 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 2.获得屏幕高度和宽度 //获取屏幕的高度和宽度用到WindowManager这个类 WindowMan