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

原文:【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)

https://play.google.com/apps/publish/signup 

 

http://www.apkbus.com/android-17585-1-1.html

这个是老的注册教程,流程和新的差不多 现在有部分是中文的了

 

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  **************

时间: 2024-08-17 13:25:34

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

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

原文:[Xamarin开发 Android 系列 1]环境部署搭建 开篇自然先扯一段,近几年移动互联网如果熊猫零食一样,蔓延迅速.楼主身为一个微软忠实的粉丝,无奈,老爹不给力.Silverlight开发的WP7 ,Windows Phone 系列没成功, 收购诺基亚 ,搭载WP8 ,依然Windows Phone  ,结果Xaml依然不温不火.最后还把诺基亚干挺了.想想当时手握N91 的吊样儿..时过境迁. 主流移动互联网平台, 1 Android 2 IOS 3???? 地铁 大街上,凡是走的

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

原文:[Xamarin开发 Android 系列 3]循序渐进的学习顺序 指定合理的学习步骤,将各个技术点进行强化.慢慢 的就从点到线 到面的飞跃,一切仅仅是时间问题,开始前,请记住,学习是最佳的投资方式.风险成本极小,但是收货极佳. 用最小的杠杠,撬动爆发力极强的财富,那就是学习和经验的累积的过程!      [学习顺序-1 国内篇] [Xamarin Android开发实战基础篇] 第1章 Xamarin开发Anroid应用介绍 11.1 Xamarin基本知识 11.1.1 Xamarin

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

原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android?   Android一词的本义指"机器人",同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,而且不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件. Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备.目前尚未有统一中文

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

原文:[Xamarin开发 Android 系列 2]VS2015跨平台开发的几种方式   在微软Build大会上,微软宣布在VS2015中支持三种方式进行跨平台的开发. 1. Xamarin 2. Cordova 3. C++ Xamarin  官网 :http://xamarin.com/ Xamarin 是由早期的Mono项目演变而来,原本是在Linux上执行C#程序的一个开放原始码项目.后来陆续发表支持iOS的Mono Touch framework以及Mono For Android

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

原文:[Xamarin开发 Android 系列 7] Android 结构基础(下) *******前期我们不打算进行太深入的东西,省的吓跑刚进门的,感觉门槛高,so,我们一开始就是跑马灯一样,向前蹿*************   前一篇 我们从大概上知道了 Android的体系,我强调,我们的重点是Application,包括以后的开发 我们也都是开发Application,没有其他. 我们队APP有了大概了了接,知道 .apk的组成. 那么真正的app 包含哪些细节的东西呢,都是概念性的东

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

原文:[Xamarin开发 Android 系列 6] Android 结构基础(上)     前面大家已经熟悉了什么是Android,而且在 [Xamarin开发 Android 系列 4] Android 基础知识 一文里,开篇就上图,展示了Android的架构. 大概也就4层 APP--应用程序层 Framework --公共架构层 Native Libs + Dalvik VM---系统类库+虚拟机 Linux Kernel--Linux内核   Android 是一个基于Linux开发

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

原文:[Xamarin开发 Android 系列 5] Xamarin 的破解 有关这个话题,十分敏感,公司开发还是支持下商业版权吧,毕竟一帮猴子辛辛苦苦没日没夜的干活,不说开宝马奔驰,吃饭还是必须的. 但是针对个人来说,确实太贵了,尤其在天朝.我只能说是,死鬼死鬼...... 网上也有很多旧版本的破解的补丁,试过几个 不好用,甚至不能用,周末花了两天时间,自己动手丰衣足食.            有同学表示,看见这些就兴奋,兴奋过了又茫然了.还是不知道怎么下手. 偶尔看到一篇文章写的挺好:地址

Xamarin开发Android应用打包apk

原文:Xamarin开发Android应用打包apk Visual Studio中用Xamarin开发Android应用,生成apk文件有3种方法 1.debug时,代码目录下bin\Debug中会自动生成调试用***-Signed.apk文件,但是文件Size非常大,不建议使用. 2.Release时,"部署"勾选√,生成--部署解决方案后,代码目录下bin\Release中会自动生成部署用***-Signed.apk文件,文件Size比较小. 3.自己打包,工具--Publish

Xamarin开发android应用,在模拟器上一打开就退出了

问题描述 程序一打开就闪退,装手机上的apk也一样,什么情况?UseSharedRuntime前面的对勾也是取消的,到底哪里的问题? 解决方案 解决方案二:你先试试最简单的程序,例如说helloworld有问题吗?这个问题可能是配置的问题,也可能是代码的问题解决方案三:分配的SD卡是多大的??512?解决方案四:可能是因为勾了UseSharedRuntime解决方案五:你好,我也是在vs2015xamarin开发的app会闪退....你解决了这个问题没?楼主解决方案六:你程序里面可能出现了问题,