Developing on Windows Phone 8 Devices
http://docs.madewithmarmalade.com/native/platformguides/wp8guide/wp8development.html

Contents


Build and Deploy Applications to Device

Before deploying to Windows Phone 8 devices, the development machine and devices must be set up correctly as described in the Windows Phone 8 Requirements and Setup Guide.

Building a project for Windows Phone 8

Currently applications need to be compiled directly with the native Windows Phone 8 SDK toolchain before deployment. This can be done using either Visual Studio 2012 (e.g the Pro or Ultimate versions) or Visual Studio Express 2012 for Windows Phone (however the former requires the latter to be installed in order to access the Windows Phone 8 SDK).

To use the Express version simply right click on the mkb and select "Open with Visual C++ 2012 Express Windows Phone". This will launch Visual Studio Express 2012 Windows Phone. To use the non-Express versions of Visual Studio 2012 select "Open with Visual Studio 2012 Window Phone". Alternatively, the mkb can be opened via the command-line, for example:-

  • "s3eHelloWorld.mkb --buildenv=vc11xwp --buildenv-toolset=wp8" (for express)
  • "s3eHelloWorld.mkb --buildenv=vc11 --buildenv-toolset=wp8" (for non-express)
  • "s3eHelloWorld.mkb --buildenv=vc11xwp --buildenv-toolset=wp8dev" (for express with on-device debugging)
  • "s3eHelloWorld.mkb --buildenv=vc11 --buildenv-toolset=wp8dev" (for non-express with on-device debugging)

The default Marmalade project for Windows Phone 8 supports full on-device debugging (by using "--buildenv-toolset=wp8dev" via the command-line). One can also create a typical solution that only supports limited on-device debugging via tracing by instead supplying "--buildenv-toolset=wp8". Debugging issues are described in a section below.

Note that if you wish to build your project from the command line then you must use the non-Express version of Visual Studio 2012. The Express version of the IDE does not support the traditional command line build arguments. This means that the "--make" mkb option will not work for the Express version. Note that it may be possible to use MSBuild directly to build Express solutions from the command line, however at the time of writing that assertion is untested.

Deploying to device

Unlike on other platforms, you cannot launch the Marmalade Deploy Tool by building GCC (ARM) Release. The Marmalade Deploy Tool is installed into your list of external tools (on the tools menu in Visual Studio).

You can also run the Marmalade Deploy Tool directly. The developer will need to run DeplyTool shortcut from the installed Marmalade SDK and then navigate to the deploy_config.py file for the project. e.g. C:\Marmalade\6.2\examples\HelloWorld\build_iwgxhelloworld_wp8\deploy_config.py

  1. Build your mkb project with the Windows Phone 8 SDK as described in the build step.
  2. Generate the deployment with the Marmalade Deployment Tool.
  3. During the Select Build Stage, select either WP8-ARM Debug or WP8-ARM Release
  4. During the Configuration Stage, select Windows Phone 8 as one of the deployment platforms.
  5. At the Deploying Stage, select "Package, Install and Run" to. This will create a .xap file and launch the application on the device.
  6. Alternatively you can just select "Package" and then click "Explore" to locate the generated application XAP.
  7. Another option is to use the Windows Phone Power Tools which can be downloaded from Windows Phone Power Tools

You can manually add the Marmalade Deploy Tool to a Visual Studio toolbar:

  1. Work out the position of the Marmalade Deploy Tool in the list of external tools.
  2. Go to Tools/Customize/Commands.
  3. Select the toolbar you wish to add the tool to (For instance Standard).
  4. Select Add Command.
  5. Select Tools and then "External Command X", where X is the position of the Marmalade Deploy Tool in the list of external tools. (counting from 1)
  6. Move the command Up or Down into the right position.
  7. You should now have a button "Marmalade Deploy Tool" on your toolbar.

Deploying to the simulator

This uses the same procedure as above, except:

  • During the Select Build Stage, select either WP8-X86 Debug or WP8-X86 Release
  • If you are using the Windows Phone 8 deployment tool (or the Windows Phone Power Tools) select one of the emulators rather than device.

Debugging Device Builds

On-device debugging is supported for Windows Phone 8 by specifying the "--buildenv-toolset=wp8dev" command-line argument when launching the mkb. This creates a Visual Studio solution that includes a Marmalade.Shell C# sub-project that acts as a wrapper to support on-device debugging. The Marmalade.Shell is autogenerated and should not need to be modified manually. It will contain references to the files specified in the user's asset block (use the mkb option "test-config" to select a the named deployment configuration you wish to debug). To break into user code, open the native C++ project and set a breakpoint in the user's source code. Hit F5 to build and run. Note, one should make sure native debugging is selected rather than managed-debugging via the Shell properties.

In wp8dev-mode, the Visual Studio solution includes a prebuild step to run the deploy script to generate the deployment package. Should you wish to debug specific deployment options, either set them by editing the mkb or running the deploy tool via the menu. Note, any changes to the mkb will prompt you to reload the project.

If "--buildenv-toolset=wp8" is specified, on-device debugging will be limited to the use of the IwTrace API. The iwtrace.txt is saved in the Application's Data directory on device. There are 2 methods for obtaining the trace file:

    1. Use the Windows Phone Isolated Storage tool from the installed Windows Phone 8 SDK.
      Example command : C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Tools\IsolatedStorageEx plorerTool>ISETool.exe ts deviceindex:1 {ef2011a7-063e-486e-8526-70ce6ac75b8f} C:\ise
    2. Use the Windows Phone Power Tools which can be downloaded from Windows Phone Power Tools

Developing on Windows Phone 8 Devices的更多相关文章

  1. WCID Devices -- Windows Compatible ID Devices

    WCID Devices What is WCID? A WCID device, where WCID stands for "Windows Compatible ID", i ...

  2. Developing Universal Windows Apps 开发UWA应用 问答

    开始是一些欢迎,就不翻译 Question: Is the code already there? Answer: There is some code on that codeplex site, ...

  3. Windows Phone Silverlight 8.1 apps

    The Windows Phone Silverlight 8.1 app model gives Windows Phone 8 developers access to some of the n ...

  4. 设置 Quick-Cocos2d-x 在 Windows 下的编译环境

    http://cn.cocos2d-x.org/tutorial/show?id=1304 设置 Quick-Cocos2d-x 在 Windows 下的编译环境 Liao Yulei2014-08- ...

  5. Windows Phone 8 Programming Considerations

    OpenGL ES 2.0 Support Marmalade supports the Open GL ES 2.0 Graphics API on Windows Phone 8 using a ...

  6. [Windows Azure] Configuring and Deploying the Windows Azure Email Service application - 2 of 5

    Configuring and Deploying the Windows Azure Email Service application - 2 of 5 This is the second tu ...

  7. Windows Phone Update3 (新分辨率 1080 x 1920 不会影响到现有WP8应用)

    更新内容: Update 3 OS version: 8.0.10501.127 or 8.0.10512.142* Accessibility. We've made several improve ...

  8. Unity for Windows: III–Publishing your unity game to Windows Phone Store

    原地址:http://digitalerr0r.wordpress.com/2013/08/27/unity-for-windows-iiipublishing-to-windows-phone-st ...

  9. PatentTips - DMA address translation between peer-to-peer IO devices

    BACKGROUND As processing resources have increased, demands to run multiple software programs and ope ...

随机推荐

  1. linux网络基础设置 以及 软件安装

    ifconfig #查看所有已激活的网卡信息 临时配置 #yum install net-tools -y 默认ifconfig是没有安装的,可能需要安装 ifconfig eth0 #查看单独一块网 ...

  2. 第六课 GDB调试 (上)

    1序言: 1.初学者经过学习前面的Makefile知识,信心满满,内心觉得应该要好好学习不单掌握语言的编写,也要学会相对应的工具调高开发效率.有时我们写出来的代码经过执行结果却跟我们预期不一样那怎么办 ...

  3. 微信小程序组件icon

    基础内容icon:官方文档 Demo Code Page({ data: { iconSize: [20, 30, 40, 50, 60, 70], iconColor: [ 'red', 'oran ...

  4. PL/SQL编程—游标

    一.游标的相关概念: 定义: 游标它是一个服务器端的存储区,这个区域提供给用户使用,在这个区域里 存储的是用户通过一个查询语句得到的结果集,用户通过控制这个游标区域当中 的指针 来提取游标中的数据,然 ...

  5. Unity 碰撞检测 OnTriggerEnter 入门

    当我们需要检测两个物体A和B发生碰撞的时候,必须要满足一下条件 1:A和B必须有碰撞边界,你可以点开一个A,在属性窗口点击AddComponent,在physis(物理)目录下看到以下这些 ,根据形状 ...

  6. kafka--producer配置解析

    producer解析 主要是解析一下producer的相关配置以及一些使用场景 相关解析 名称   说明 类型 默认值 有效值 重要性 bootstrap.servers 用于建立与kafka集群连接 ...

  7. 优先队列 STL (转)

    优先队列是队列的一种,不过它可以按照自定义的一种方式(数据的优先级)来对队列中的数据进行动态的排序每次的push和pop操作,队列都会动态的调整,以达到我们预期的方式来存储. 例如:我们常用的操作就是 ...

  8. MyBatis无限输出日志

    最近在项目中使用mybatis与spring集成,由于项目使用maven分模块打包,经常遇到mybatis mapper少配置子模块或者maven pom中忘记引用子模块导致的mybatis加载不到d ...

  9. 洛谷P3393逃离僵尸岛 最短路

    貌似一直不写题解不太好QAQ 但是找不到题啊... 随便写点水题来补博客吧 题目不pa了,点链接吧... 点我看题 很明显这是道sb题... 思路:  对于每一个僵尸城市预处理其 s 距离内的城市,然 ...

  10. spark学习12(spark架构原理)

    spark采用的是主从式的架构,主节点叫master,从节点是worker Driver 我们编写的spark就在Driver上,由driver进程执行. Driver是spark集群的节点之一,或你 ...