原文:【Xamarin开发 Android 系列 13】 应用打包部署

开始倒叙咯................

先更新大宝部署吧,这个章节比较的Easy,童鞋们不用费脑筋。点解?从界面上填写几个参数,其他都是傻瓜式的【下一步】,童鞋们是否喜欢。卤煮 反正很是受用。

我们开发好的程序,需要打包成 .apk,成为安卓的安装包。然后就可以通过下载的形式安装到 用户终端手机/平板/TV/Watch。。。。。。。

发布程序 主要的还是将应用发布到 谷歌的官方商店 Google Play。。再然后就是其他的应用市场,国内的 百度应用 安智市场 360应用等等

我们分3步讲解:

1、打包

2、生成的程序包结构

3、发布到应用平台市场

【打包】

打包的时候,相当与我们发布程序。此时的编译模式应该选择 【Release】 ,而不是【Debug】。采用Debug 模式的时候,Xamarin 会使用 Java的 Java Debug Wire Protocol (Java 调试线协议(JDWP))-------延伸:

JPDA(Java Platform Debugger Architecture) 是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程序。JPDA 主要由三个部分组成:Java 虚拟机工具接口(JVMTI),Java 调试线协议(JDWP),以及 Java 调试接口(JDI)  其中常用的开发平台Eclipse中自带了JDWP兼容的调试器,命令行中常见的有jdb等。

采用【Debug】模式的时候,Xamarin 会在 AndroidManifest.xml、AssemblyInfo.cs 两个文件中进行信息配置。

其中 AndroidManifest.xml 中的

<application
. . .
android:debuggable="true"
. . .
</application>

AssemblyInfo.cs 文件中的

#if RELEASE
[assembly: Application(Debuggable=false)]
#else
[assembly: Application(Debuggable=true)]
#endif

--------------------所以,我们只需要将发布模式改为 Release 即可。

【连接器】

连接器,用来进行带代码分析。将你程序中需要的程序类型 Type进行分析。将需要的类型和不需要的类型进行区分开来,然后编译的时候,减少不必要的程序集的体积开销。

项目属性的配置选项中,有连接器这个选项。

在vs 中的连接选择,默认是 【None】,这个None其实就是,关闭链接信息。

仅仅SDK X需要的程序集。也就是第二个选择项。

第三个是所有程序集。开发中用到的SDK 程序集,第三方程序集都会被打包进程序包。

其实如果不是 部署到测试机,我们选择第二种模式就好。出来的程序包 体积较小。

如果你想自己定义,也可以。Xamarin 提供了自定义配置SDK 程序集信息的文件,也就是个xml文件,在其中定义好 程序集的 type就好。

其他配置选项,一目了然,就不一一介绍了。

【发布打包程序】

程序包的发布需要一个数字签名证书,没有证书是不允许在设备上运行的。但是我们调试的时候,并没有给程序包签名,为啥还可以跑呢?

那是因为,在Xamarin编译程序的时候,自动使用一个调试模式的证书为程序签名了。

好,既然发布程序,那么一开始我们没有为此程序设定证书,我们新建一个证书。。。。喜欢命令行 批的请绕开。我们直接使用UI工具创建证书。

填写对应的信息,注意:填写的密码要记住,以后发布都需要的。。。。。。创建好证书后,以后就可以使用这个证书为此程序进行签名了。

【发布到谷歌Play】

签名之后,用zipalign(压缩对齐)优化你的APK文件。
  未签名的apk不能使用,也不能优化。签名之后的apk谷歌推荐使用zipalign.exe(位于android-sdk-windows\tools目录下)工具对其优化:

D:\>zipalign -v 4 demo_signed.apk final.apk

  如上,zipalign能够使apk文件中未压缩的数据在4个字节边界上对齐(4个字节是一个性能很好的值),这样android系统就可以使用mmap()(请自行查阅这个函数的用途)函数读取文件,可以在读取资源上获得较高的性能,
  PS:1.在4个字节边界上对齐的意思就是,一般来说,是指编译器吧4个字节作为一个单位来进行读取的结果,这样的话,CPU能够对变量进行高效、快速的访问(较之前不对齐)。
          2.对齐的根源:android系统中的Davlik虚拟机使用自己专有的格式DEX,DEX的结构是紧凑的,为了让运行时的性能更好,可以进一步用"对齐"进一步优化,但是大小一般会有所增加

【申请账号】

Android Market google play store帐号申请 注册方法流程

在 Google Play 中发布软件之前,您需要完成以下三项工作:
创建开发人员个人资料
接受开发人员分发协议
通过信用卡支付注册费 ( US$25.00)(使用 Google Checkout)
 
这个是老的注册教程,流程和新的差不多 现在有部分是中文的了
 
Android Market的帐号不需要审核,支付完成后,就开通了,就可以发布自己的(免费)应用了

应用管理控制台google搞得很隐蔽,比较难找到 https://play.google.com/apps/publish/ 输入上面网址登录后可以直接跳转到管理应用的界面

目前测试交费后可以上传程序 但仍然需要审核,不能马上发布,但时间很快一般一天以内可以完成。

2013-03-12 注:现在应用控制台有改版了变成:https://play.google.com/apps/publish/v2/

控制台里面发布流程和操作界面变化很大了

=========================

google play store 发布应用注意事项:
一:屏幕截图大小必须符合下面规格(是必须对于的宽高,不只是范围):
320x480、480x800、480x854、
1280x720、1280x800
24 位 PNG 或 JPEG 图片(无 alpha)
全出血、无边框艺术照
您可以上传横向浏览模式的屏幕截图。系统会显示旋转后的缩略图,但会保留实际图片和相应浏览模式。
2013-03-12 注:现在截图不需要要求那么严格了,直接手机截图出来就可以上传了。
 
二:必须有一张512 x 512高分辨率应用图标:
512 x 512
32 位 PNG 或 JPEG 图片
文件大小上限:1024 KB
 
三:隐私权政策 必须添加隐私权政策链接,或者选择现在不提交隐私权政策网址
 
四:可以添加宣传图片和宣传文字(英语)
 

五:发布成功一小时后仍然无法在市场上搜索到发布的应用,本人测试两个小时后就搜索到了,估计需要一段时间建立索引后才能搜索到。

==================================

------------*************需要图的可以参考此文章:  http://www.zhuayoukong.com/73895.html  **************

【Xamarin开发 Android 系列 13】 应用打包部署的更多相关文章

  1. 【Xamarin开发 Android 系列 1】环境部署搭建

    原文:[Xamarin开发 Android 系列 1]环境部署搭建 开篇自然先扯一段,近几年移动互联网如果熊猫零食一样,蔓延迅速.楼主身为一个微软忠实的粉丝,无奈,老爹不给力.Silverlight开 ...

  2. 【Xamarin开发 Android 系列 3】循序渐进的学习顺序

    原文:[Xamarin开发 Android 系列 3]循序渐进的学习顺序 指定合理的学习步骤,将各个技术点进行强化.慢慢 的就从点到线 到面的飞跃,一切仅仅是时间问题,开始前,请记住,学习是最佳的投资 ...

  3. 【Xamarin开发 Android 系列 4】 Android 基础知识

    原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android? Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Li ...

  4. 【Xamarin开发 Android 系列 7】 Android 结构基础(下)

    原文:[Xamarin开发 Android 系列 7] Android 结构基础(下) *******前期我们不打算进行太深入的东西,省的吓跑刚进门的,感觉门槛高,so,我们一开始就是跑马灯一样,向前 ...

  5. 【Xamarin开发 Android 系列 5】 Xamarin 的破解

    原文:[Xamarin开发 Android 系列 5] Xamarin 的破解 有关这个话题,十分敏感,公司开发还是支持下商业版权吧,毕竟一帮猴子辛辛苦苦没日没夜的干活,不说开宝马奔驰,吃饭还是必须的 ...

  6. 【Xamarin开发 Android 系列 6】 Android 结构基础(上)

    原文:[Xamarin开发 Android 系列 6] Android 结构基础(上) 前面大家已经熟悉了什么是Android,而且在 [Xamarin开发 Android 系列 4] Android ...

  7. 【Xamarin开发 Android 系列 2】VS2015跨平台开发的几种方式

    原文:[Xamarin开发 Android 系列 2]VS2015跨平台开发的几种方式 在微软Build大会上,微软宣布在VS2015中支持三种方式进行跨平台的开发. 1. Xamarin 2. Co ...

  8. 【Xamarin开发 Android 系列 8】 创建一个Json读取数据应用(上)

    后续将内容贴上来...........

  9. C#使用Xamarin开发Android应用程序 -- 系列文章

    Xamarin开发Android应用程序 利用Xamaria构建Android应用-公交发车信息屏 Xamarin版的C# SVG路径解析器 C#使用Xamarin开发可移植移动应用(1.入门与Xam ...

随机推荐

  1. ffmpeg之YUYV转RGB ARM使用流程分析

    本例基于3.2.2 ffmpeg 一.应用调用API 二.头文件包含的API接口 对应于libswscale.so.libswscale.so.4.libswscale.so.4.2.100中 sws ...

  2. 解决无法获取 GridView 隐藏列值问题

    今天遇到了一个要获取GridView隐藏列值的问题,试了好几种方法,要么获取不到,要么获取到了类列的值也隐藏了,但在样式中这一列会多出一块,,但最后找到了一个功能实现而且实现了列完美隐藏的方法和大家分 ...

  3. JAVA Web.xml 加载顺序

    web.xml加载过程(步骤): 1.启动WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> ...

  4. MongoDB中的分组

    一.MongoDB中的Count函数.Distinct函数以及分组 准备工作,插入一个班级的文档 > for(var i=0;i<10;i++){ ... db.Classes.inser ...

  5. WEB开发时Browser控件得到C:\fakepath\ 的解决方式

    IE9中JS获得文件上传控件的路径不对,为:C:\fakepath\ 原来要修改:  工具 -> Internet选项 -> 安全 -> 自定义级别 -> 将本地文件上载至服务 ...

  6. ios fixed属性bug解决方法

    在内容层外面包一个div 加上样式:position:fixed;top:0px; bottom:50px;overflow:scroll; 就可以完美解决

  7. c常用字符串函数

    获取字符串长度 : size_t strlen(const char *str); 字符串拷贝函数: 把src中内容拷贝到dest中,它会覆盖原来的内容,它会把src中的\0,没有覆盖内容不变 如果s ...

  8. react native android 开发,基础配置笔记。

    一.React-native-device-info https://github.com/rebeccahughes/react-native-device-info 二.修改App名称 三.定位权 ...

  9. java_UML:继承/泛化、实现、依赖、关联、聚合、组合的联系与区别 (2016-07-12)

    分别介绍这几种关系: UML关系:继承(泛化).实现.依赖.关联.聚合.组合的联系与区别 一.表示符号上的区别 二.具体区别与联系 1. 继承/泛化(Generalization) [泛化关系]:是一 ...

  10. Dell Remote Access Controller 添加和配置 DRAC/MC 用户

    iDRAC设置 单击“Configuration”(配置)选项卡并选择“Users”(用户). 单击“Username”(用户名)列下的 [Available](可用)添加新用户,或单击“Userna ...