1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
Building Unity 8
================
Only Ubuntu 13.10 (saucy) is supported as a developement environment.
download source
---------------
- create a parent folder to not pollute your setup. so that you can have different unity
branches there (trunk, WIP etc)
$ mkdir ~/unity8
- fetch Unity 8 source
$ sudo apt-get install bzr
$ bzr branch lp:unity8 ~/unity8/trunk
$ cd ~/unity8/trunk
install dependencies
--------------------
If its your first time, install build dependencies
$ cd ~/unity8/trunk
$ ./build --setup
this will:
- install the required dependencies to build, as well as run on the desktop
- it should also install unity-scope-home and unity-lens-application which
are technically "recommends", not strict dependencies
build Unity 8
-------------
$ cd ~/unity8/trunk
$ ./build
You may also rebuild with the -c for clean, which just deletes the build
directory.
Running Unity 8 on your desktop
===============================
run the Unity 8 shell
---------------------
$ cd ~/unity8/trunk
$ ./run
Options can be passed to test the lock screen
$ ./run -p OR -k
-p is for pin lock, for which the default prompt answer is "1234"
-k is for keylock passphrase, for which the default prompt answer is "password"
Notes
-----
- to navigate, utilize the mouse left button as you would your finger
- to get the translations work, currently you have to do make install to
put the *.mo files into correct structure. We'll look for a better solution
later.
$ cd builddir; make install
- if you wish to populate contacts
$ sudo apt-get install gir1.2-ebook-1.2
$ manage-address-book.py create
this will:
- Create an EDS address book
- Populate the address book with sample data
Running Unity 8 on devices
==========================
- Ubuntu Touch builds are currently only available in 13.10 flavour
- supported hardware should match one of those listed here
https://wiki.ubuntu.com/Touch/Devices#Running_fine
- follow the Ubuntu Touch install instructions for your chosen device
https://wiki.ubuntu.com/Touch/Install
- make sure your device is connected to a network
- also make sure you have your SSH key in ~/.ssh/id_rsa.pub (or install one
on the device yourself)
$ cd ~/unity/trunk
$ ./run_on_device --setup
this will:
- install your public SSH key on the device
- install the needed dependencies
$ ./run_on_device
this will:
- rsync the code to the device
- build on the device
- replace the running shell
Options can be passed to test the lock screen
$ ./run_on_device -p OR -k
-p is for pin lock, for which the default prompt answer is "1234"
-k is for keylock passphrase, for which the default prompt answer is "password"
Notes
-----
- using adb over TCP has some advantages, Google will be of help here
- NOTE: this is not yet available for flipped images
- TL;DR: `adb tcpip 5555; adb connect $your_device_ip`
- you can persist the above via `adb shell setprop persist.adb.tcp.port 5555`
- it's unsafe - anyone can connect to your device
- with TCP the Nexus 10 doesn't drop the adb connection when locking
the screen
- exporting ANDROID_SERIAL=$your_device_serial or
ANDROID_SERIAL=$your_device_ip:5555 will make adb not complain about
multiple devices
- you can export TARGET_IP=$your_device_ip TARGET_SSH_PORT=22 for run_on_device
to not use adb forwarding - useful if you use multiple devices
- using Ninja (package ninja-build - run_on_device -s installs this now)
will improve build times (especially in the nothing-to-build case)
Coding guidelines
=================
The work-in-progress coding guidelines are available under:
https://launchpad.net/canonical-client-development-guidelines
Development Environment
=======================
QtCreator (available via the Software Center) is the best IDE to hack on
Unity 8.
If using VIM, make sure you install some syntax highlighting for QML, like
https://github.com/peterhoeg/vim-qml
|