如何用同一个工程支付宝创建应用两个不同版本的应用

【投稿】用同一个工程创建两个不同版本的应用
招聘信息:
如果同一个应用, 需要做一个带广告Lite版本, 一个不带广告的Pro版本. 那么问题来了, 该如何优雅的去实现呢?一般来说有两种实现方法:一个把当前工程拷贝然后再修改, 这样做会导致后期维护成本过高, 每次修改都要同时改两个工程, 到后期修改简直提心掉胆, 不过操作傻瓜式.另外一个种就是在一个Project里面创建两个Target, 然后通过判断Target来修改代码, 这样都是基于同一套代码做修改, 只是部分不相同的地方通过Target来添加不同代码, 后期修改维护成本低, 推荐大家使用这种方式.不想看教程的童鞋, 点击可以下载我已经完成好的代码.创建两个Target:1.首先先选中Target一个已经存在的版本, 右键 Duplicate2.然后在弹出来的选择框选择 Duplicate Only3.创建完之后你的新Target应该是和我的一样, 接下来我们就要修改Target, Scheme, Info-plist, 如图这样修改:4.修改完了之后Target, Scheme, plist的名字之后, 你需要在新的Target添加对应的plist文件, 修改CFBundleDisplayName就可以修改应用的名字了.5.还要记得修改一下Product Name 不然你的Bundle Identifier的后缀名有copy和你的Target名字不一样, 你还需要在Bundle Setting做一下修改.开始为两个不同的应用添加不同的AppIcon, LaunchImage在这个选择使用Images.xcassets里面设置AppIcon和LaunchImage, 注意这里一个是AppIcon,另一个是AppIcon-2, 以后编译Target的时候他就会跟随这里的设置去拿了开机图和Icon2.进入Images.xcassets看下图片是不是都是勾选了两个Target, 保持和我下图一样的勾选, 如果没有勾选的话, 你在编译的不同Target的时候会获取不到资源.3.选择不同Target进行编译, 你的运行结果应该和我的截图一样, 有着不同的AppName和AppIcon,还有不同的LaunchImage,但是代码是共用, 到这里你已经成功了一半了, 接下来你肯定是想知道如何在代码里面区别不同Target, 然后给它们添加其他的特性.在代码里面利用宏定义来区分不同的Traget1.在Bundle Setting里面设置一下Proprecessor Macros添加一份KFREE &KPRO的参数来区分到底是那个Traget. 在代码里面为需要用到这个宏去判断代码块.2.在代码里面添加Proprecessor Macros里面宏定义, 你就会发现编译之前Xcode就会智能的选择不同代码. 这样你就共用一个项目管理两个不同版本的应用了, 大部分的代码都复用, 维护管理非常轻松.总结:苹果每年都会推出新的技术, 都是为了减少开发成本和更好的设计, 作为开发者的开发模式应当和苹果的理念一致. 用最优雅, 简洁的方式去实现功能.
微信扫一扫
订阅每日移动开发及APP推广热点资讯公众号:CocoaChina
点击量9261点击量8031点击量7198点击量7088点击量7021点击量6909点击量6473点击量5902点击量5874
关注微信 每日推荐
扫一扫 浏览移动版
&2015 Chukong Technologies,Inc.
京公网安备89&nbsp&#8250&nbsp&nbsp&#8250&nbsp
创建一个安卓工程(应用)
一个android工程包含了一些列源代码或文件。 Android SDK 工具为我们提供了创建一个新工程的简便方法,按照一些设置,它能自动为你建立好一个工程需要的源代码结构。本课程分别演示如何用eclipse(和ADT插件)和命令行创建一个android新工程。Note:在这之前,你应该先安装好了Android SDK,而且如果你是用eclispe开发,你还要安装 ( 21.0.0 版本以上).如果你没有,你可以学习 这一课程。
一、用eclipse创建一个工程图 1.eclipse新建一个android工程的步骤.点击工具栏里面的新建(New) &。打开 Android 目录, 选择 Android Application Project, 然后点击下一步(这里注意不同eclipse的版本可能不完全一致,但应该都会出现选择 Android Application Project)。填写出现的表单(如图): &Application Name是用户使用app的时候看到的应用名字。 我们取名为&My First App.& Project Name &是指这个项目的名称,显示在eclipse的项目列表里面。Package Name &app的包名(和普通java项目的Package Name是一个概念)。你的包名必须是独一无二的,在整个android系统中不能有两个同样的包名。基于此原因,我们推荐你用一个机构的反向域名作为包名(这样应该不会重复吧)。我们这个例子的包名叫: &com.example.myfirstapp.&。但是如果你要将你的应用发布到安卓商店google play上面,“com.example”是不被允许的。Minimum Required SDK &指你的app所支持的android最低版本, 因为不同的版本对应不同的api,表明要使用的 . &为了让app尽可能的支持更多的android系统和设备,你应该将这个值设置成在不影响你应用核心功能情况下的最低值。 如果你的app某种特性只能在新版本的android上才能体现出来,但是这又并不是这个app的核心功能的话,你可以设置成只有在支持这一特性的版本上才启用,(参考
一文)。Target SDK(又叫 &Build SDK) 一般来讲是最高版本的android或者是api。这个是指你测试你app的版本类型。
& Compile With 这个指你要编译的sdk版本,默认值是最新版本,(一般来说是4.1以上(对应的值是1.6),如果你还没有这个sdk版本,你应该用sdk管理工具下载一个),你也可以选择一个较老的版本来编译,但是用新sdk的好处是,新版本支持很多新特性,比如actionbar。 & &Theme 主题: 主题是指你的app风格,这个设置会影响到你的app在某些公共控件上的表现,比如holo风格主题的actionbar字体颜色是白色,且在代码中不能改变,除非是在style中覆盖了该style。你可以忽略这一步。4.下一步是设置工程的一些参数,可以直接跳过。5.这一步是设置app应用程序图标。你可以自己设定图标,但是最好让你的图标符合规范,参见UI设计向导的
。点击下一步6.这一步你可以设置app模版,我直接选BlankActivity然后点下一步。7.后面的设置都保持默认,直接点完成。在eclipse上创建一个安卓工程就完成了。二、用命令行创建一个工程如果你没有eclipse这样的工具,那么你可以用sdk工具在命令行里面建立一个安卓工程。1.切换目录到sdk/tool所在目录。2.执行android list targets 命令。屏幕将会列出你为sdk所下载的不同android版本。选择你想要编译的版本,同时记录下其id。我们建议你选择一个最新的版本。3.执行:android create project --target &target-id& --name MyFirstApp \
--path &path-to-workspace&/MyFirstApp --activity MainActivity \
--package com.example.myfirstapp将&target-id&替换成你刚刚记录下的android版本id。
上一篇:没有了
下一篇: 在ActionBar中添加分享功能会使得应用更加高效友好。Android4.0(API等级14)引入的ActionProvider类使得分享功能变得更加的简单。一旦ActionProvider被绑定到Action Bar的一个菜单中,它就能处理那一项的显示和反应。在ShareActionProvider的实例中,只需提第一次使用Android Studio时你应该知道的一切配置(二):新建一个属于自己的工程并安装Genymotio... - 推酷
第一次使用Android Studio时你应该知道的一切配置(二):新建一个属于自己的工程并安装Genymotio...
一、新建工程:
1、新建一个Project:
打开Android Studio,新建一个Project,界面如下:
上图中,设置好工程名和路径之后,接下来可以一路next:
二、Android Studio使用方法;
1、修改项目结构视图:
Project新建完了以后,默认的结构如下:
上图可以看到,AS的目录结构和Eclipse中有很大区别,我们看下面的这张表格就一目了然了:
eclipseIEDA/Android Studio
preference
module dependency
当然了,如果想切换成和Eclipse中类似的视图,点击左上角进行切换视图就行了:
切换之后,视图如下:
上图中,箭头处的app其实是一个module,关于module的概念,稍后会有解释哦。
2、工具栏的常用功能:
在AS的工具栏有几个常用的按钮,分别是 Gradle同步、AVD Manager、SDK Manager、DDMS ,如下图所示:
解释如下:
Gradle同步:在你项目运行或者更改Gradle配置的时候都要点击下这个按钮,会下载相应的依赖
AVD Manager:模拟器管理
SDK Manager:就是管理你的SDK版本
DDMS:即 Dalvik Debug Monitor Service,Dalvik调试监控服务。
3、导入第三方jar包:
eclipse中导入jar包是先将jar包复制到工程文件中,然后add to build path,但是在Android studio中可不是这样的。在Android studio中导入jar包的方法是:(以谷歌的gjson.jar为例)
将gson-2.3.jar文件拷贝到工程文件的libs目录下:
导入之后,选中jar包,然后点击下图中箭头处的按钮:
三、安装genymotion模拟器:
1、Genymotion的安装:
Genymotion无疑是目前最快最好用的模拟器。官网下载地址:
先注册,然后下载,安装VirtualBox最简单的方式就是下载包含VirtualBox的Genymotion包,如下图红框部分所示:
下载完成后,开始安装。然后运行Genymotion软件,会提示你需要创建虚拟设备,点击yes按钮开始创建虚拟设备:
使用之前注册的账号进行连接:
然后选择其中一个版本的模拟器:
当然了,如果要在模拟器上运行程序,还要确保模拟器加载了Android SDK:
备注:如果启动模拟器时出现下面的错误:
升级电脑显卡驱动就行了。
这样,我们的模拟器就建好了,并且可以启动起来。接下来要将模拟器和Android Studio相关联。
2、将模拟器Genymotion和Android Studio相关联:
Genymotion官网提示有两种方法(如下图所示),一种是在线安装,另一种是离线安装。方法已经很清楚了,我就不截屏演示了哈。
插件安装好之后,紧接着重启软件,让新加载的插件生效。重启软件Android Studio后,选择菜单栏“View--Toolbar”,让工具栏显示出来,可以看到工具栏多了个Genymotion Device Manager的图标:
点击这个图标,弹出如下界面:
上图中,加载我们之前安装好的Genymotion文件夹即可。然后再点击这个图标,弹出如下界面:
大功告成。
紧接着,在模拟器上运行这个程序:
运行效果如下:
上图中,可以看到,我编译的版本是API 19,但模拟器的版本是API 16,但是程序依然可以运行,说明Android Studio在版本的兼容问题上做的很好。但是之前用IntelliJ IDEA,就必须要求编译的版本和模拟器(真机)的版本要保持一致。
四、新建一个module形式的第三方library:(引入module的概念)
再来看一下这张表:
eclipseIEDA/Android Studio
preference
module dependency
看完图,应该知道module的概念了吧。细心的小伙伴可以发现,application的module的有一个手机图标:
1、新建一个module作为library:(以StickyScrollViewItems这个Library为例 )
注: StickyScrollViewItems 的作用是:子控件可悬停的ScrollView(当子控件滚动到页面顶端的时候固定在顶部)。
在AS中,我们可以新建一个module作为library来使用,操作如下:
上图中,在当前的project中新建一个module,然后弹出如下界面:
上图中,选择module的类型为Android Library,然后继续:
上图中,既然这个module是一个libray,就不需要Activity了。
上图中箭头处的两个module:第一个是application的module,第二个是lirary的module,可以看到,他们俩的icon图标长得不一样。
2、将GitHub上下载好的StickyScrollViewItems-master压缩包中的部分文件拷贝到lirary的module中:
操作如下:
(1)将StickyScrollViewItems-master\StickyScrollViewItems-master\library\res\values目录下的attrs.xml文件拷贝到lirary的module中的values目录下。
(2)将StickyScrollViewItems-master\StickyScrollViewItems-master\library\src\com\emilsjolander\components\StickyScrollViewItems目录下的StickyScrollView.java文件拷贝到lirary的module中的java目录下。
最终效果如下:
3、将application的module依赖上library的module:
操作如下:
上图中,右键选中app,选择“Open Module Settings”,弹出如下界面:
按照上图的步骤,在Dependencies标签中,添加&Module dependency&,弹出如下界面:
上图中,将StickyScrollViewItems的module导入一下就行。
依赖成功,于是,我们在布局文件中是可以看到它的代码提示的:
下面来测试一下。
4、测试library这个module的可用性:
将activity_main.xml修改为如下代码:
&com.smyhvae.stickyscrollview.StickyScrollView
android:layout_width=&match_parent&
android:layout_height=&match_parent&
android:fadingEdge=&none&
android:overScrollMode=&never&
android:fillViewport=&true&
xmlns:android=&/apk/res/android&&
&LinearLayout
android:layout_width=&match_parent&
android:layout_height=&wrap_content&
android:orientation=&vertical&&
android:layout_width=&match_parent&
android:layout_height=&200dp&
android:background=&@color/blue&/&
android:layout_width=&match_parent&
android:layout_height=&100dp&
android:background=&@color/red&
&strong& android:tag=&sticky&/&&/strong&
android:layout_width=&match_parent&
android:layout_height=&100dp&
android:background=&@color/green&/&
android:layout_width=&match_parent&
android:layout_height=&100dp&
android:background=&@color/white&/&
android:layout_width=&match_parent&
android:layout_height=&300dp&
android:background=&@color/purple&/&
android:layout_width=&match_parent&
android:layout_height=&100dp&
android:background=&@color/yellow&/&
&/LinearLayout&
&/com.smyhvae.stickyscrollview.StickyScrollView&
上方代码中,我们引入了StickyScrollView这个module作为library,核心代码是第22行,我们为红色的View添加了android:tag=&sticky&这个标签,于是它将具有悬停的属性。
五、删除某个module:
上图中,如果我想删掉StickyScrollView这个module,该怎么办呢?办法是:选中StickyScrollView这个module,并点击右键,发现没有delete选项,没有关系,我们选择上图中红框部分的&Open module Settings&选项,弹出如下界面:
上图中,点击箭头处的减号,就可以删掉了。同时我们要去掉app这个module对它的依赖:
然后会发现,StickyScrollView这个module的图标消失了:
上图中,现在右键它,就可以delete掉了,而且是从硬盘上直接delete掉:
六、删除文件的小技巧:(安全删除)
如果我们想删掉某个文件,可以直接右键,然后delete,但是Android Studio有一个更人性化的体验。比如我想删掉布局文件时:
上图中,点击delete进行删除, 弹出如下界面:
上图中,如果将红框部分打钩,然后点击OK,软件则会提示你,有哪些地方用到了这个文件:
上图显示,有一个地方用到了这个文件,点击上图中的&View usages&,就可以看到详细的情况了:
如果你执意要删除,单击上图中的箭头位置即可,怎么样?用户体验还不错吧?
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致

我要回帖

更多关于 支付宝创建应用 的文章

 

随机推荐