forked from qt-creator/qt-creator
		
	Conflicts: src/plugins/debugger/qml/qmlengine.cpp src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp
		
			
				
	
	
		
			474 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			474 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /****************************************************************************
 | |
| **
 | |
| ** This file is part of Qt Creator
 | |
| **
 | |
| ** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
 | |
| **
 | |
| ** Contact: Nokia Corporation (qt-info@nokia.com)
 | |
| **
 | |
| ** No Commercial Usage
 | |
| **
 | |
| ** This file contains pre-release code and may not be distributed.
 | |
| ** You may use this file in accordance with the terms and conditions
 | |
| ** contained in the Technology Preview License Agreement accompanying
 | |
| ** this package.
 | |
| **
 | |
| ** GNU Free Documentation License
 | |
| **
 | |
| ** Alternatively, this file may be used under the terms of the GNU Free
 | |
| ** Documentation License version 1.3 as published by the Free Software
 | |
| ** Foundation and appearing in the file included in the packaging of this
 | |
| ** file.
 | |
| **
 | |
| ** If you have questions regarding the use of this file, please contact
 | |
| ** Nokia at qt-info@nokia.com.
 | |
| **
 | |
| ****************************************************************************/
 | |
| 
 | |
|     /*!
 | |
| 
 | |
|     \contentspage index.html
 | |
|     \if defined(qcmanual)
 | |
|     \previouspage creator-project-generic.html
 | |
|     \else
 | |
|     \previouspage creator-developing-symbian.html
 | |
|     \endif
 | |
|     \page creator-developing-maemo.html
 | |
|     \if defined(qcmanual)
 | |
|     \nextpage creator-developing-symbian.html
 | |
|     \else
 | |
|     \nextpage smartinstaller.html
 | |
|     \endif
 | |
| 
 | |
|     \title Setting Up Development Environment for Maemo
 | |
| 
 | |
|     Maemo 5 (Fremantle) is a software platform developed by Nokia for
 | |
|     smartphones. The Maemo 5 SDK provides an open development environment
 | |
|     for different applications on top of the Maemo platform. The necessary
 | |
|     tools from the Maemo 5 SDK are also included in the \QSDK.
 | |
|     The whole tool chain that you need to create, build, debug, run, and deploy
 | |
|     Maemo 5 applications is installed and configured when you install the
 | |
|     \QSDK.
 | |
| 
 | |
|     \if defined(qcmanual)
 | |
|     Maemo 5 is based on the Linux 2.6 operating system. For more
 | |
|     information about the Maemo 5 platform, see
 | |
|     \l{http://maemo.org/intro/platform/}{Software Platform} on the Maemo web site.
 | |
|     \endif
 | |
| 
 | |
|     For more information about developing applications for the Maemo 5
 | |
|     platform, select \gui {Help > Index} and look for \gui {Platform Notes},
 | |
|     or see
 | |
|     \l{http://doc.qt.nokia.com/qt-maemo/platform-notes-maemo5.html}{Platform Notes - Maemo 5}.
 | |
| 
 | |
|     \section1 Hardware and Software Requirements
 | |
| 
 | |
|     To build and run Qt applications for Maemo 5, you need the following:
 | |
|     \list
 | |
|        \o  Nokia N900 device with software update release 1.3 (V20.2010.36-2)
 | |
|        or later installed.
 | |
| 
 | |
|        \if defined(qcmanual)
 | |
|        \o  MADDE cross-platform Maemo development
 | |
|            tool (installed as part of the \QSDK).
 | |
| 
 | |
|            For more information about MADDE pertaining to its
 | |
|            installation, configuration, and deployment on the device, see
 | |
|           \l{http://wiki.maemo.org/MADDE}{Introduction to MADDE}.
 | |
|        \endif
 | |
| 
 | |
|        \o Nokia USB drivers.
 | |
| 
 | |
|        Only needed if you develop on Windows and if you use a USB connection
 | |
|        to run applications on the device. The drivers are
 | |
|        installed as part of the \QSDK. You can also download them from
 | |
|        \l{https://garage.maemo.org/frs/?group_id=801&release_id=2655}{PC Connectivity}
 | |
|        on the Maemo web site. Download and install the latest
 | |
|        PC_Connectivity_<version>.exe (at the time of writing,
 | |
|        PC_Connectivity_0.9.4.exe).
 | |
| 
 | |
|     \endlist
 | |
| 
 | |
|     \note The only supported build system for Maemo 5 in Qt
 | |
|     Creator is qmake.
 | |
| 
 | |
|     \section1 Setting Up the Nokia N900
 | |
| 
 | |
|     You can connect your device to your development PC using either a USB or
 | |
|     WLAN connection.
 | |
| 
 | |
|     For the device, you need to use a tool called Mad Developer to create the
 | |
|     device-side end point for USB and WLAN connections. It provides no
 | |
|     diagnostics functions but is essential for creating connections between the
 | |
|     device and your development PC.
 | |
| 
 | |
|     To use a WLAN connection, you must activate WLAN on the device and connect
 | |
|     it to the same WLAN as the development PC. The network address is displayed
 | |
|     in the Mad Developer.
 | |
| 
 | |
|     To use a USB connection, you need to set up the Nokia N900 as a network device
 | |
|     on the development PC.
 | |
| 
 | |
|     \note If you plan to connect your development PC to the Nokia N900 only over WLAN, you can
 | |
|     ignore the USB-specific parts in the following sections.
 | |
| 
 | |
|     \section2 Installing and Configuring Mad Developer
 | |
| 
 | |
|     Install Mad Developer on a device and configure
 | |
|     a connection between the development PC and the device.
 | |
| 
 | |
|     \note The following instructions describe Mad Developer 2.1. The process and
 | |
|     text labels might differ on other Mad Developer versions.
 | |
| 
 | |
|     To install and configure Mad Developer:
 | |
| 
 | |
|      \list 1
 | |
|          \o On the Nokia N900, select \gui{App Manager > Download} > \gui{Development} > \gui{mad-developer}
 | |
|          to install the Mad Developer software package.
 | |
|          \o Click \gui {Mad Developer} to start the Mad Developer application.
 | |
| 
 | |
|          \o To use a WLAN connection, activate WLAN on the device and connect
 | |
|          to the same network as the development PC. You can see the network
 | |
|          address in the \gui wlan0 field.
 | |
| 
 | |
|          \o To use a USB connection:
 | |
| 
 | |
|          \list a
 | |
| 
 | |
|          \o If you are using Microsoft Windows as development host, you must
 | |
|          change the driver loaded for instantiating the connection.
 | |
|          In the Mad Developer, select \gui{Manage USB} and select \gui{Load g_ether}.
 | |
| 
 | |
|          \o To set up the USB settings, click \gui Edit on the \gui usb0 row and
 | |
|          confirm by clicking \gui Configure.
 | |
| 
 | |
|           \note By default, you do not need to make changes. The \gui usb0 row
 | |
|           displays the IP address 192.168.2.15.
 | |
| 
 | |
|           \endlist
 | |
| 
 | |
|        \o Select \gui{Developer Password} to generate a password for a freshly
 | |
|           created user called \bold developer. The password stays valid for as long
 | |
|           as the password generation dialog is open. You enter the password when
 | |
|           you configure the connection in Qt Creator.
 | |
| 
 | |
|           \image qtcreator-mad-developer-screenshot.png
 | |
|     \endlist
 | |
| 
 | |
|     \section1 Installing Qt Mobility APIs
 | |
| 
 | |
|     To develop applications that use the Qt Mobility APIs, you must install the
 | |
|     APIs on the devices. The APIs are not available in the Nokia N900 package
 | |
|     manager, and therefore, you must install them from the command line as the
 | |
|     root user:
 | |
| 
 | |
|     \list 1
 | |
| 
 | |
|         \o On the device, in \gui Programs, select \c {X Terminal} to open a
 | |
|         terminal window.
 | |
| 
 | |
|         \o To install Qt Mobility libraries, enter the following command:
 | |
|         \c{/usr/lib/mad-developer/devrootsh apt-get install libqtm-*}
 | |
| 
 | |
|         \o To confirm the installation, enter: \c Y
 | |
| 
 | |
|         \o Close the terminal.
 | |
| 
 | |
|     \endlist
 | |
| 
 | |
|     \section1 Setting Up Network Connectivity on Development PC
 | |
| 
 | |
|     Use the network configuration tools on your platform to specify the
 | |
|     connection to the device on the development PC. You need to do this
 | |
|     only if you use a USB connection.
 | |
| 
 | |
|     \section2 Linux
 | |
| 
 | |
|     The device uses the IP address 192.168.2.15 with the subnet 255.255.255.0
 | |
|     for its USB connection by default, so you can create the network interface
 | |
|     with a different address inside the same subnet too.
 | |
| 
 | |
|     \note If you have changed the IP address of the device when configuring
 | |
|     Mad Developer, you need to reflect those changes in your development PC USB
 | |
|     network settings.
 | |
| 
 | |
|     Run the following command in a shell as root user:
 | |
|                   \c{ifconfig usb0 192.168.2.14 up}
 | |
| 
 | |
|     \section2 Windows
 | |
| 
 | |
|     When you connect the device to your Windows PC, Windows tries to install a
 | |
|     driver for the Linux USB Ethernet connection. In the
 | |
|     \gui{Found New Hardware Wizard}, select \gui{No, not this time} in the
 | |
|     first dialog and \gui{Install the software automatically} in the second
 | |
|     dialog.
 | |
| 
 | |
|     To specify a network connection:
 | |
| 
 | |
|     \list 1
 | |
| 
 | |
|     \o Open the Network Connections window.
 | |
| 
 | |
|     \o Select the Linux USB Ethernet
 | |
|     connection that is displayed as a new Local Area Connection.
 | |
| 
 | |
|     \o Edit the \gui {Internet Protocol Version 4 (TCP/IPv4)} properties
 | |
|     to specify the IP address for the connection.
 | |
|     In the \gui {Use the following IP address} field, enter the following values:
 | |
|     \list
 | |
|        \o  \gui {IP Address}: \bold {192.168.2.14}
 | |
|        \o  \gui SubnetMask: \bold {255.255.255.0}
 | |
|        \o  \gui {Default gateway}: leave this field empty
 | |
|     \endlist
 | |
| 
 | |
|     \endlist
 | |
| 
 | |
|     Depending on
 | |
|     your version of Microsoft Windows you may have to unplug and re-plug the
 | |
|     Nokia N900 to reload the driver with its configuration accordingly.
 | |
| 
 | |
|     \section1 Configuring Connections in Qt Creator
 | |
| 
 | |
|     To be able to run and debug applications on the Maemo emulator and
 | |
|     devices, you must set up connections to the emulator and devices in the
 | |
|     Qt Creator build and run settings.
 | |
|     If you install \QSDK, the
 | |
|     connection to the Maemo emulator is configured automatically and you
 | |
|     only need to configure a connection to the device.
 | |
| 
 | |
|     You use a wizard to create the connections. You can edit the settings later
 | |
|     in \gui {Tools > Options... > Maemo > Maemo Device Configurations}.
 | |
| 
 | |
|     \image qtcreator-maemo-device-configurations.png "Maemo Device Configurations dialog"
 | |
| 
 | |
|     By default, you create the connection as the \e developer user. This
 | |
|     protects real user data on the device from getting corrupted during
 | |
|     testing. If you write applications that use Qt Mobility APIs, you might want
 | |
|     to test them with real user data. To create a connection as a user, specify
 | |
|     the \gui Username and \gui Password in Qt Creator. For more information, see
 | |
|     \if defined(qcmanual)
 | |
|     \l{Testing with User Data}.
 | |
|     \else
 | |
|     the Qt Creator Manual.
 | |
|     \endif
 | |
| 
 | |
| 
 | |
|     You can protect the connections between Qt Creator and
 | |
|     a Maemo device by using either a password or an SSH key. If you use a password, you
 | |
|     must generate it in Mad Developer and enter it in Qt Creator every time
 | |
|     you connect to the Maemo device.
 | |
| 
 | |
|     If you do not have an SSH key, you can create it in Qt Creator.
 | |
|     Encrypted keys are not supported. For more
 | |
|     information, see
 | |
|     \if defined(qcmanual)
 | |
|     \l{Generating SSH Keys}.
 | |
|     \else
 | |
|     the Qt Creator Manual.
 | |
|     \endif
 | |
| 
 | |
| 
 | |
|     To configure connections between Qt Creator and the Maemo
 | |
|     device:
 | |
| 
 | |
|     \list 1
 | |
| 
 | |
|         \o  To deploy applications and run them remotely on Maemo devices,
 | |
|             specify parameters for accessing devices:
 | |
| 
 | |
|             \list a
 | |
| 
 | |
|             \o Connect your device to the development PC via a USB cable or
 | |
|             a WLAN. For a USB connection, you are prompted to select the mode
 | |
|             to use. Choose \gui{PC suite mode}.
 | |
| 
 | |
|             \note If you experience connection problems due to a USB port issue,
 | |
|             switch to a different port or use WLAN to connect to the device.
 | |
| 
 | |
|             \o Select \gui Tools > \gui Options... > \gui Maemo >
 | |
|             \gui{Maemo Device Configurations > Add}, and add a new configuration for a
 | |
|             hardware device.
 | |
| 
 | |
|             \image qtcreator-screenshot-devconf.png
 | |
| 
 | |
|             \o In the \gui {The name to identify this configuration} field,
 | |
|             enter a name for the connection.
 | |
| 
 | |
|             \o In the \gui {The system running on the device} field, select
 | |
|             the software platform of the device.
 | |
| 
 | |
|             \o In the \gui {The kind of device} field, select
 | |
|             \gui {Hardware device}.
 | |
| 
 | |
|             \o In the \gui {The device's host name or IP address} field, enter
 | |
|             the IP address from the \gui usb0 or \gui wlan0 field in Mad Developer.
 | |
| 
 | |
|             \o Click \gui Next.
 | |
| 
 | |
|             \o Follow the instructions of the wizard to create the connection.
 | |
| 
 | |
|             \endlist
 | |
| 
 | |
|         \if defined(qcmanual)
 | |
| 
 | |
|         \o To test applications on the Maemo emulator (QEMU) separately, you must
 | |
|            create a connection to it from the development PC. If you installed
 | |
|            \QSDK, the connection is created automatically and you can omit this
 | |
|            step.
 | |
| 
 | |
|             \list a
 | |
| 
 | |
|                 \o In Qt Creator, select \gui {Tools > Options... > Maemo >
 | |
|                 Maemo Device Configurations > Add} to add a new configuration.
 | |
| 
 | |
|                 \image qtcreator-maemo-emulator-connection.png
 | |
| 
 | |
|                 \o In the \gui {The name to identify this configuration} field,
 | |
|                 enter a name for
 | |
|                 the connection.
 | |
| 
 | |
|                 \o In the \gui {The system running on the device} field, select
 | |
|                 the software platform to emulate.
 | |
| 
 | |
|                 \o In the \gui {The kind of device} field, select
 | |
|                 \gui {Emulator (Qemu)}.
 | |
| 
 | |
|                 \o Click \gui Next.
 | |
| 
 | |
|                 \o Follow the instructions of the wizard to create and test the
 | |
|                 connection.
 | |
| 
 | |
|             \endlist
 | |
|     \endif
 | |
| 
 | |
|             \o To specify build and run settings:
 | |
| 
 | |
|             \list a
 | |
| 
 | |
|                 \o Open a project for an application you want to develop for your
 | |
|                 Nokia N900.
 | |
| 
 | |
|                 \o Click \gui Projects to open the projects mode.
 | |
| 
 | |
|                 \o In the \gui{Build Settings} section, choose the MADDE Qt version
 | |
|                 that was registered by the installation program.
 | |
| 
 | |
|                  \image qtcreator-screenshot-build-settings.png
 | |
| 
 | |
|                  \o In the \gui{Run Settings} section, click \gui Add to add a new
 | |
|                  deploy configuration. The configuration is named automatically. To
 | |
|                  give it a new name, click \gui Rename.
 | |
| 
 | |
|                  \o In the \gui {Device configuration} field, select the device
 | |
|                  connection or the Maemo emulator connection.
 | |
|                  \image qtcreator-screenshot-run-settings.png
 | |
| 
 | |
|                  \o Click \gui {<no target path set>} in \gui {Remote Directory}
 | |
|                  to specify the folder where the file is installed on the device.
 | |
|                  For example, \c {/opt/usr/bin}.
 | |
| 
 | |
|              \endlist
 | |
| 
 | |
|         \endlist
 | |
| 
 | |
|     \if defined(qcmanual)
 | |
|     \section2 Testing with User Data
 | |
| 
 | |
|     To run your application as the default user, you must first assign a password
 | |
|     for the user account and then create the connection to the device as the
 | |
|     user:
 | |
| 
 | |
|     \list 1
 | |
| 
 | |
|         \o On the device, in \gui Programs, select \c {X Terminal} to open a
 | |
|         terminal window.
 | |
| 
 | |
|         \o To specify the password, enter the following command:
 | |
|         \c{/usr/lib/mad-developer/devrootsh passwd user}
 | |
| 
 | |
|         \o In Qt Creator, Select \gui Tools > \gui Options... > \gui Maemo >
 | |
|         \gui{Maemo Device Configurations}.
 | |
| 
 | |
|         \o Specify the username \c user and the password in the device configuration.
 | |
| 
 | |
|     \endlist
 | |
| 
 | |
|          \section2 Generating SSH Keys
 | |
| 
 | |
|          If you do not have an SSH public and private key pair, you can generate it
 | |
|          in Qt Creator. You can specify key length and the key algorithm, RSA or DSA.
 | |
|          If you only use the keys to protect connections to the Maemo emulator or
 | |
|          device, you can use the default values.
 | |
| 
 | |
|          \list 1
 | |
| 
 | |
|              \o Select \gui {Tools > Options... > Maemo > Maemo Device Configurations
 | |
|              > Generate SSH Key...}.
 | |
| 
 | |
|              \o Click \gui {Generate SSH Key}.
 | |
| 
 | |
|              \image qtcreator-ssh-key-configuration.png "SSH Key Configuration dialog"
 | |
| 
 | |
|              \o Click \gui {Save Public Key...} to select the location to save the
 | |
|              public key.
 | |
| 
 | |
|              \o Click \gui {Save Private Key...} to specify the location to save the
 | |
|              private key.
 | |
| 
 | |
|              \o Click \gui Close to close the dialog.
 | |
| 
 | |
|          \endlist
 | |
| 
 | |
|     \section2 Managing Device Processes
 | |
| 
 | |
|     You can view processes running on the Maemo device and kill them.
 | |
|     Select \gui {Tools > Options... > Maemo > Maemo Device Configurations >
 | |
|     Remote Processes...}.
 | |
| 
 | |
|     You can filter the processes by name in the \gui {List of Remote Processes}
 | |
|     dialog.
 | |
| 
 | |
|     To update the process list, select \gui {Update List}.
 | |
| 
 | |
|     To kill a process, select it in the list, and then select \gui {Kill
 | |
|     Selected Process}.
 | |
| 
 | |
|     \endif
 | |
| 
 | |
|     \section1 Troubleshooting
 | |
| 
 | |
|     The addresses used in this example might be reserved by some other application
 | |
|     in your network. If you cannot establish a connection, try the following optional
 | |
|     configurations:
 | |
| 
 | |
|     \table
 | |
| 
 | |
|         \header
 | |
|             \o usb0 in Mad Developer on Device
 | |
|             \o USB Network on Development PC
 | |
|             \o Host Name in Qt Creator Build Settings
 | |
| 
 | |
|         \row
 | |
|             \o 172.30.7.15 255.255.255.0
 | |
|             \o 172.30.7.14 255.255.255.0
 | |
|             \o 172.30.7.15
 | |
| 
 | |
|         \row
 | |
|             \o 10.133.133.15
 | |
|             \o 10.133.133.14
 | |
|             \o 10.133.133.15
 | |
| 
 | |
|         \row
 | |
|             \o 192.168.133.15
 | |
|             \o 192.168.133.14
 | |
|             \o 192.168.133.15
 | |
| 
 | |
|             \note You cannot use the value localhost for connections to a device.
 | |
| 
 | |
|         \endtable
 | |
| 
 | |
|     \note VPN connections might block the device connection.
 | |
| 
 | |
| */
 | |
| 
 |