Google provided updates to the Android development tools as Christmas gifts!
When I opened my Android SDK manager, I noticed there are 3 updates listed there.
One is Android SDK Tools 21.0.1, the other is Android SDK Platform Tools 16.0.1, and another is Android SDK platform API level 16 Revision 4.
If you are Eclipse and choose Windows -> Android SDK Manager, then select these 3 updates to install them, you may experience a little trouble, the error or warning would say some directory is currently being hold by some process. You would just need to exit the Eclipse IDE, then from the Android SDK Manager run the installation again.
After installing these updates, everything in the $android_sdk_folder/tools/ has been touched.
Right now I do not know what have been updated, and need to look at carefully to dig them out.
I wish I could find release note somewhere.
(
http://developer.android.com/tools/sdk/tools-notes.html
http://developer.android.com/tools/sdk/eclipse-adt.html
The release note for SDK Platform API Level 16 Revision 4 is not available yet at the link
http://developer.android.com/tools/revisions/platforms.html
)
Tuesday, December 25, 2012
Tuesday, December 18, 2012
Handle XXHDPI in your Android apps
After Google mentioned the xxhdpi in their online document and first batch of mobile devices supporting this resolution rolled out to the market, developers may need to know how to handle this resolution in the apps.
HTC Butterfly (Japan)
HTC Butterfly (China)
HTC DNA (Verizon Wireless)
Since this screen resolution parameter is new, if your apps have not handled it, your apps may not be visible on devices when users use Google Play store to search apps.
To solve the issue of app not visible on devices with xxhdpi resolution, developers need to read the documentation provided by Google. Please check the best practice Google provides at http://developer.android.com/guide/practices/screens_support.html ,
It is said that the best practice is to use the <supports-screens > element in the manifest file of the application, and developers can set anyDensity is true. This will solve most of the cases. There are some cases that this solution would not work.
As you may notice that there is another element, <compatible-screens>, mentioned in Google's online document. Some apps on the market are using this element/tag in the manifest files to resolve the screen resolution issue, and even use these 2 tags/elements in the same time. If you create a simple apk with various combinations of these two tags in the manifest file, it could be easily found that some of the definitions inside of the <compatible-screens> would override the definitions inside of the <supports-screens> tag.
It is mentioned that if you have to use <compatible-screens> in the manifest file to filter out your apps for devices with certain screen resolutions or sizes, you will need to add one more value inside of this tag:
<screen
android:screenSize="normal" android:screenDensity="480"
/>
for the xxhdpi. The other definition you may also add is tvdpi, its value is 213, which is for devices like Nexus 7.
After modifying the manifest file, you may also consider adding resources, such as drawables, layout styles, for the xxhdpi.
Friday, December 07, 2012
Build Android Kernel Source Code
In my previous post, I talked about downloading Android kernel source codes and listed links of download sites from major players in the markets of Android devices.
So what are you going to do with the kernel codes after you download it?
Some guys would like to take a look at the Linux codes to see the changes,
others is going to twist it, build it, and flash the devices with the images from the build.
OEM usually provides the Android kernel to end users in zip format,
it may be only one zip file, or several zip files. To open the zip file, the zip tool would be needed. There are several free zip tools user can download from the internet.
After unzipping the downloaded zip file, you can start to check the source codes. If you could like to build it the kernel, other tools and environment would be needed. It is recommended Linux machine would be used to run the build, you can either get an individual Linux PC, install a dual boot of popular Linux OS, or install a virtual machine of Linux on your PC. Some of the Linux Os' are free for personal use.
For myself, I am using a Windows laptop, have a Oracle Virtual Box installed on it. I use Ubuntu Linux as a virtual machine on Virtual Box. You may download Oracle Virtual Box from this web page https://www.virtualbox.org, and the Ubuntu Linux from http://www.ubuntu.com/download .
When you set up and configure the Ubuntu virtual machine in Oracle VirtualBox, please pay attention to the RAM, Storage size and number of processor of the host machine ( for me it is my Windows laptop), please choose proper amount of storage, RAM and number of processors to use by the virtual machine. If you assign too much ram and all the processor of the host machine for the virtual machine, when you run the virtual machine and do heavy jobs, the host machine may not be responsive.
After setting up the Linux machine, please follow the steps at http://source.android.com/source/index.html to set up the environment. You will need the tool chain from AOSP to build the Android kernel code. The tool chain is in the code base of AOSP source codes, or you can get it from somewhere else you could find, please put the tool chain in your path.
Please unzip and put the Android kernel source code in your project directory, for example,
/home/dave/Project/kernels/. Before start building the kernel, you may want to take a look at the build instructions that comes together with the Android kernel source codes, such as a readme.txt file in the directory, or any instructions the OEM lists on their website.
I happened to look at the Android kernels recently published at http://htcdev.com/devcenter/downloads ,
In the download file, there is a readme.txt, which contains the commands recommended to be used to build the kernel, including the instructions to set the path of the tool chain.
After finishing building the kernel, you may try to push some modules you just built on to you device. Please note that you may need to run at root privilege to do this.
Please make sure to back up your personal data, device settings, ect.., anytime you flash your devices with customized build module or rom, and make copy of the modules on your devices you are going to replace with the new modules, and this process is only for person with strong mobile technique experiences.
For example, if I want to put bluetooth driver module onto my device (but most of the time, all driver modules would be needed to push over to device to make the device work properly),
I will run the following commands:
adb remount
adb shell push ./drivers/bluetooth/bluetooth-power.ko system/lib/modules/
adb shell chmod 644 system/lib/modules/*
adb reboot
In case your devices got stuck to start up, you may need to run recovery and reset the device to factory settings (!!!! you would lose data on your device !!!!), you may need to put back the original modules you have backed up, or in the worst case, you may run to boot loader mode and select the recovery or reset options from the menu, or run the recovery and reset command from the adb shell.
So what are you going to do with the kernel codes after you download it?
Some guys would like to take a look at the Linux codes to see the changes,
others is going to twist it, build it, and flash the devices with the images from the build.
OEM usually provides the Android kernel to end users in zip format,
it may be only one zip file, or several zip files. To open the zip file, the zip tool would be needed. There are several free zip tools user can download from the internet.
After unzipping the downloaded zip file, you can start to check the source codes. If you could like to build it the kernel, other tools and environment would be needed. It is recommended Linux machine would be used to run the build, you can either get an individual Linux PC, install a dual boot of popular Linux OS, or install a virtual machine of Linux on your PC. Some of the Linux Os' are free for personal use.
For myself, I am using a Windows laptop, have a Oracle Virtual Box installed on it. I use Ubuntu Linux as a virtual machine on Virtual Box. You may download Oracle Virtual Box from this web page https://www.virtualbox.org, and the Ubuntu Linux from http://www.ubuntu.com/download .
When you set up and configure the Ubuntu virtual machine in Oracle VirtualBox, please pay attention to the RAM, Storage size and number of processor of the host machine ( for me it is my Windows laptop), please choose proper amount of storage, RAM and number of processors to use by the virtual machine. If you assign too much ram and all the processor of the host machine for the virtual machine, when you run the virtual machine and do heavy jobs, the host machine may not be responsive.
After setting up the Linux machine, please follow the steps at http://source.android.com/source/index.html to set up the environment. You will need the tool chain from AOSP to build the Android kernel code. The tool chain is in the code base of AOSP source codes, or you can get it from somewhere else you could find, please put the tool chain in your path.
Please unzip and put the Android kernel source code in your project directory, for example,
/home/dave/Project/kernels/. Before start building the kernel, you may want to take a look at the build instructions that comes together with the Android kernel source codes, such as a readme.txt file in the directory, or any instructions the OEM lists on their website.
I happened to look at the Android kernels recently published at http://htcdev.com/devcenter/downloads ,
In the download file, there is a readme.txt, which contains the commands recommended to be used to build the kernel, including the instructions to set the path of the tool chain.
After finishing building the kernel, you may try to push some modules you just built on to you device. Please note that you may need to run at root privilege to do this.
Please make sure to back up your personal data, device settings, ect.., anytime you flash your devices with customized build module or rom, and make copy of the modules on your devices you are going to replace with the new modules, and this process is only for person with strong mobile technique experiences.
For example, if I want to put bluetooth driver module onto my device (but most of the time, all driver modules would be needed to push over to device to make the device work properly),
I will run the following commands:
adb remount
adb shell push ./drivers/bluetooth/bluetooth-power.ko system/lib/modules/
adb shell chmod 644 system/lib/modules/*
adb reboot
In case your devices got stuck to start up, you may need to run recovery and reset the device to factory settings (!!!! you would lose data on your device !!!!), you may need to put back the original modules you have backed up, or in the worst case, you may run to boot loader mode and select the recovery or reset options from the menu, or run the recovery and reset command from the adb shell.
Wednesday, December 05, 2012
Download Android kernels published by OEMs
Android is an open source project under GPL licences. OEMs under these licenses are obliged to publish the kernels they modified and used in their products.
The major players in the field of Android devices including the following OEMs including Google:
Google Inc (Android creator), Huawei (Android mobile devices), HTC (Android mobile devices), LG (Android mobile devices), Motorola (Android mobile devices), Samsung (Android mobile devices), Sony (Android mobile devices), ZTE in the alphabetic order.
Google's contributions to the kernel source codes are released in the Android Open Source Project at http://source.android.com/
The download sites of the kernel source codes from other OEMs
Huawei - http://www.huaweidevice.com/worldwide/downloadCenter.do?method=index&type=software
HTC - http://htcdev.com/devcenter/downloads
LG- http://www.lg.com/global/support/opensource/opensource.jsp
Motorola - http://sourceforge.net/motorola/
Samsung - http://opensource.samsung.com/index.jsp
Sony - http://developer.sonymobile.com/downloads/opensource/
ZTE - http://supporthk.zte.com.cn/support/news/NewsDetail.aspx?newsId=1002402 for example
The major players in the field of Android devices including the following OEMs including Google:
Google Inc (Android creator), Huawei (Android mobile devices), HTC (Android mobile devices), LG (Android mobile devices), Motorola (Android mobile devices), Samsung (Android mobile devices), Sony (Android mobile devices), ZTE in the alphabetic order.
Google's contributions to the kernel source codes are released in the Android Open Source Project at http://source.android.com/
The download sites of the kernel source codes from other OEMs
Huawei - http://www.huaweidevice.com/worldwide/downloadCenter.do?method=index&type=software
HTC - http://htcdev.com/devcenter/downloads
LG- http://www.lg.com/global/support/opensource/opensource.jsp
Motorola - http://sourceforge.net/motorola/
Samsung - http://opensource.samsung.com/index.jsp
Sony - http://developer.sonymobile.com/downloads/opensource/
ZTE - http://supporthk.zte.com.cn/support/news/NewsDetail.aspx?newsId=1002402 for example
Monday, December 03, 2012
Old Nexus 7 received 4.2.1 update
It was days ago my old Nexus 7 got update of 4.2.1, the latest version of Android Jelly Bean.
So now I am checking what is new in Jelly Bean 4.2.1.
First look at the home screen. From the top of the layout, the notifications are on the left the notification bar, and on the right side there is the status bar, user can pull the bar down and check the details.
As always, the voice enabled Google search is on top of the home screen, user can tap on the voice search icon to start voice search. Looks like it would take the speech engine to learn your accents, and after that, the returned results are more accurate.
The application tray at the bottom of the home screen do not change at all, but in the Android site, it says the application tray is a new feature. Am I getting it wrong?
OK, now I see the several more Wallpapers than I used to have with Jelly Bean 4.1, and I can also use the "Day Dream" to display content.
What I really like in this update are new features in developer options, specifically it enable OpenGL traces and simulation of 2nd display.
So now I am checking what is new in Jelly Bean 4.2.1.
First look at the home screen. From the top of the layout, the notifications are on the left the notification bar, and on the right side there is the status bar, user can pull the bar down and check the details.
As always, the voice enabled Google search is on top of the home screen, user can tap on the voice search icon to start voice search. Looks like it would take the speech engine to learn your accents, and after that, the returned results are more accurate.
The application tray at the bottom of the home screen do not change at all, but in the Android site, it says the application tray is a new feature. Am I getting it wrong?
OK, now I see the several more Wallpapers than I used to have with Jelly Bean 4.1, and I can also use the "Day Dream" to display content.
What I really like in this update are new features in developer options, specifically it enable OpenGL traces and simulation of 2nd display.
Thursday, October 18, 2012
Nexus 7 updated to Android 4.1.2
My Nexus 7 tablet received the update to Android 4.1.2, build number JZ054K, kernel build g009b6d1.
I did not notice any change in the application or the UI. Have you guys found anything new from this update?
OK, I saw the widget of "Recommended on Play" and "Recommended Apps" when I scrolled the home screen. Have they already been there in the previous version?
Hopefully it would be bumped to 4.2 soon after Google's 10/28/9 event.
I did not notice any change in the application or the UI. Have you guys found anything new from this update?
OK, I saw the widget of "Recommended on Play" and "Recommended Apps" when I scrolled the home screen. Have they already been there in the previous version?
Hopefully it would be bumped to 4.2 soon after Google's 10/28/9 event.
IGZO based display and battery life
IGZO is named after indium gallium zinc oxide. It is a material with special properties and can be used in liquid crystal display (LCD) to replace the traditional layer of silicon. It is reported that energy consumption would be lowered to 1/5 to 1/10 of the traditional TFT,
it used only a quarter of the power of its competitor when idle, and about 25 percent less during active use. This technology also allows more pixels in per unit area of the display, which would make the images displayed on the screen more clearer and sharper, and more accurate touch response or quicker response speed.
At CEATEC 2012, Sharp introduced its new 5-inch 1080p LCD smartphone display at 443 ppi, they also showed a 6.1 inch IGZO based display with 498 ppi. Later Sharp introduced the first IGZO panel smartphone, Sharp's SH-02E, and it also launched a 7-inch Tablet with IGZO LCD Screen of 1280x800 resolution, 217 ppi. This week, HTC announced HTC J Butterfly, it has a 5 inch LCD3 1080 HD, 441 ppi display.
In the comments on the reports, people are worrying about the battery life of these new devices, because as more pixels packed into the display, more energy would be needed to light up the display. However if the report of the energy efficiency feature of this new technology is true, the battery would have a decent life span on these devices.
it used only a quarter of the power of its competitor when idle, and about 25 percent less during active use. This technology also allows more pixels in per unit area of the display, which would make the images displayed on the screen more clearer and sharper, and more accurate touch response or quicker response speed.
At CEATEC 2012, Sharp introduced its new 5-inch 1080p LCD smartphone display at 443 ppi, they also showed a 6.1 inch IGZO based display with 498 ppi. Later Sharp introduced the first IGZO panel smartphone, Sharp's SH-02E, and it also launched a 7-inch Tablet with IGZO LCD Screen of 1280x800 resolution, 217 ppi. This week, HTC announced HTC J Butterfly, it has a 5 inch LCD3 1080 HD, 441 ppi display.
In the comments on the reports, people are worrying about the battery life of these new devices, because as more pixels packed into the display, more energy would be needed to light up the display. However if the report of the energy efficiency feature of this new technology is true, the battery would have a decent life span on these devices.
Thursday, September 27, 2012
Google added XXHDPI for android devices ?
Google, the creator of Android mobile platform, recently added one item at http://developer.android.com/reference/android/util/DisplayMetrics.html#DENSITY_XXHIGH,
which will support devices with terrible high resolutions ( I had to keep asking myself when I thought about it, do I really need this high resolution? may be I do, just for viewing high quality contents).
According to the Google document
"
public static final int DENSITY_XXHIGH Since: API Level 16
Please check my other post http://programmingtolive.blogspot.com/2012/12/handle-xxhdpi-in-your-apps.html for handling xxhdpi in your Android apps.
Oh, they added XXXHDPI?
which will support devices with terrible high resolutions ( I had to keep asking myself when I thought about it, do I really need this high resolution? may be I do, just for viewing high quality contents).
According to the Google document
"
public static final int DENSITY_XXHIGH Since: API Level 16
Standard quantized DPI for extra-extra-high-density screens. Applications
should not generally worry about this density; relying on XHIGH graphics
being scaled up to it should be sufficient for almost all cases.
Constant Value:
480
(0x000001e0)
"
It is read like "extra-extra-high-density". Looks like the engineers ran out of the word to describe it. I am wondering what the newer resolutions would be called in the future when hardware engineers would pack more pixels into per square inch on the display. Would it be called "extra-extra-extra-extra-...-extra-high-density", or call it " n-extra-high-density" ?
The name would be potentially very LONG, and when programmers try to communicate this info with project managers, the project managers would need to count how many "extra" the programmer has used, or may think the programmer is so nervous and get stumbled, or the brain get short-circuit to find the next word.
The name would be potentially very LONG, and when programmers try to communicate this info with project managers, the project managers would need to count how many "extra" the programmer has used, or may think the programmer is so nervous and get stumbled, or the brain get short-circuit to find the next word.
It is also weird that Google provided this info in the page of DisplayMatrices http://developer.android.com/reference/android/util/DisplayMetrics.html
but they have not added any related info at page http://developer.android.com/guide/topics/manifest/compatible-screens-element.html
and
I can only see the values of ldpi, mdpi, hdpi, xhdpi, tvdpi, and "nodpi".
Is it a great idea to use word of "nodpi" for supporting all densities?
Come on, please find a proper word to replace the "extra-...-extra" naming style.
Please check my other post http://programmingtolive.blogspot.com/2012/12/handle-xxhdpi-in-your-apps.html for handling xxhdpi in your Android apps.
Oh, they added XXXHDPI?
Tuesday, September 25, 2012
Your android device is not recognized by adb ?
In a previous post I discussed about the problem for Google Nexus 7. In general, every device may have this problem. When you first purchase the device and plug it onto your computer and the run the command "adb devices", your devices may not be listed there.
Usually, when you plug in your device to your computer, your computer would detect that a new device is plugged in, and it would automatically install the drivers for the device, and it would be recognized. But for android device, it could be listed as MPT device or USB Composite Device.
If the default type of your device is MPT, then it would not appear in the adb device list.
To solve the issue, there are a lot of posting and discussion on the internet by installing the drivers, and there are also even suggestions to root the device in order to solve the problem.
I myself ran into this issue again after updating my devices. When I checked the Device Manager of my laptop, it is listed as MPT device under "Portable Devices". I fooled around on the device settings, trying to find where I can change the device type to either CPT device or USB Composite Device. However in the Storage Menu of my phone, there is not such option. I even tried to use the Device Manager to update the drivers, and that did not help.
Here is the tip from my teammate.
On your computer, please open the Device Manager, open the node of Portable Devices,
right click on on the item for your device, then choose "Update Driver Software".
In the dialog of "Update Driver Software", Please click on "Browse my computer for driver software".
In the new dialog, set driver software location to the "Extra" folder where your Android SDK is installed, and check "Include subfolders".
Then click on "Let me pick from a list of device drivers on my computer. In the new dialog window, choose "USB Composite Device", and click "Next" to start installing the drivers.
After the installation is done, please make sure you device has the Developer Options turned on,
and USB connection for debugging is checked.
Please check again in the DOS window "adb devices" to verify if the device is recognized.
If you have multiple devices, you would need to do this for each of them.
I am hoping that OEM would add the device type options in Settings,
so that when user has this kind of problem, he/she can set the device to "USB Composite Device", or "CPT" device, and when the device is plugged into computer, related drivers would be installed automatically by the computer, and he/she does not need to go through the steps above manually.
Usually, when you plug in your device to your computer, your computer would detect that a new device is plugged in, and it would automatically install the drivers for the device, and it would be recognized. But for android device, it could be listed as MPT device or USB Composite Device.
If the default type of your device is MPT, then it would not appear in the adb device list.
To solve the issue, there are a lot of posting and discussion on the internet by installing the drivers, and there are also even suggestions to root the device in order to solve the problem.
I myself ran into this issue again after updating my devices. When I checked the Device Manager of my laptop, it is listed as MPT device under "Portable Devices". I fooled around on the device settings, trying to find where I can change the device type to either CPT device or USB Composite Device. However in the Storage Menu of my phone, there is not such option. I even tried to use the Device Manager to update the drivers, and that did not help.
Here is the tip from my teammate.
On your computer, please open the Device Manager, open the node of Portable Devices,
right click on on the item for your device, then choose "Update Driver Software".
In the dialog of "Update Driver Software", Please click on "Browse my computer for driver software".
In the new dialog, set driver software location to the "Extra" folder where your Android SDK is installed, and check "Include subfolders".
Then click on "Let me pick from a list of device drivers on my computer. In the new dialog window, choose "USB Composite Device", and click "Next" to start installing the drivers.
After the installation is done, please make sure you device has the Developer Options turned on,
and USB connection for debugging is checked.
Please check again in the DOS window "adb devices" to verify if the device is recognized.
If you have multiple devices, you would need to do this for each of them.
I am hoping that OEM would add the device type options in Settings,
so that when user has this kind of problem, he/she can set the device to "USB Composite Device", or "CPT" device, and when the device is plugged into computer, related drivers would be installed automatically by the computer, and he/she does not need to go through the steps above manually.
Wednesday, August 15, 2012
Sunday, August 12, 2012
Nexus 7: Long press on screen to change wallpaper
Want to change the wallpaper of the Nexus 7 tablet? Yes you can.
The routine way is to go through Settings -> Display -> Wallpaper, then choose the wallpaper from Gallery, Live Wallpapers, Wallpapers.
There is other way to do it.
Instead of going through Settings,
you may try to long press on the left or the right edge of the display (when there are apps icons using the screen space), or press at any area of the screen (when there is not any app icons on the screen), or press the area not occupied by the app icons, then a popup view would be display with tile "Choose wallpaper from", listing three options, i.e., "Gallery", "Live Wallpapers", "Wallpapers", each of them are tied to their icons respectively.
The routine way is to go through Settings -> Display -> Wallpaper, then choose the wallpaper from Gallery, Live Wallpapers, Wallpapers.
There is other way to do it.
Instead of going through Settings,
you may try to long press on the left or the right edge of the display (when there are apps icons using the screen space), or press at any area of the screen (when there is not any app icons on the screen), or press the area not occupied by the app icons, then a popup view would be display with tile "Choose wallpaper from", listing three options, i.e., "Gallery", "Live Wallpapers", "Wallpapers", each of them are tied to their icons respectively.
Screenshot of the home screen with popup of wallpaper options after pressing the edge of the screen
(screenshot was taken by pressing the volume down button and the power button)
Friday, August 10, 2012
Nexus 7: use your mice
In the section of Connect to Devices of "Nexus 7 Guidebook", it is mentioned that Nexus 7 tablet can be connected to other devices by the USB cable and adapter.
I happened to have a USB wireless mice, and just tried to connect it with Nexus 7, and it worked well. I can use the mouse to click on the items on the screen, even at 3 meters away. The system handles the mouse event very well and smooth, including scrolling the home screen with the center wheel of the mouse.
Clicking on the 3 navigation buttons at the bottom of the screen also works well. On some of the android phones, clicking on the 3 navigation buttons with the mouse does not work, though it works well for other mouse events. Looks like the 3 navigation buttons on the phones I tested are not on the LCD display, that is the reason the mouse even can not reach to the 3 navigation buttons.
While I also tried the Android sample code of FingerPaint under the category of Graphics. I can use the mouse to do the painting, and other events. But looks like the app would not handle the finger touch and mouse event at the same time, this is truce for the finger touch and mouse motion events on the home screen.
I happened to have a USB wireless mice, and just tried to connect it with Nexus 7, and it worked well. I can use the mouse to click on the items on the screen, even at 3 meters away. The system handles the mouse event very well and smooth, including scrolling the home screen with the center wheel of the mouse.
Clicking on the 3 navigation buttons at the bottom of the screen also works well. On some of the android phones, clicking on the 3 navigation buttons with the mouse does not work, though it works well for other mouse events. Looks like the 3 navigation buttons on the phones I tested are not on the LCD display, that is the reason the mouse even can not reach to the 3 navigation buttons.
While I also tried the Android sample code of FingerPaint under the category of Graphics. I can use the mouse to do the painting, and other events. But looks like the app would not handle the finger touch and mouse event at the same time, this is truce for the finger touch and mouse motion events on the home screen.
Windows 8: want to use "traditional" desktop UI?
Windows 8 boots up with the tiled style UI, it was called "Metro", with each application displayed on the screen as a tile, you can put a lot of tiles on the screen as long as you feel comfortable and there is space for you to do it.
Since the first release of Windows 8 Preview, users are providing feedback about the UI and UX, and want to use the traditional desktop UI. To do it, it is as simple as just hitting one key on the keyboard of your PC, but to my own experience, I need to click the "Desktop" tile first in the "Metro" mode, which means the traditional desktop UI needs to be running on the CPU, then the click on the windows key on the PC's keyboard will switch me from Metro style to traditional style.
The other way to do it is to put your mouse at the lower left corner of the screen, then the icon of traditional desktop would show, and you can click it to switch. Or just put your mouse at the lower left corner, and do the left click on your mouse to switch back and forth between these 2 modes, this is the most easy way to do it.
After switching to the traditional desktop UI, you may find that there is not the "Star tup" button. Now in the social media, people are talking about Microsoft's latest decision to disable any 3rd party software capable of putting back the "Start up" button. One of the work around is to stick the app to the task bar.
Windows 8 provides similar functions of "Start up" button in other ways.
Please try to move your mouse to the lower right corner of the screen, which is near the end of the task bar, then a vertical menu would show up on the right side of the display, which has the options of "Search", "Share", "Start", "Devices" and "Settings". Putting mouse on the upper right corner of the screen would also work. I feel the motion event of the mouse is mimic the touch event on the screen, I think on tablet, user just need to touch the right corners of the display to show the menu.
In "Search", it would allow you to search the app you would like to you, and display a list of apps let you to choose. This feature provides quite the same function of "Start up" button which would list the apps when user clicks on it.
There seems to be no need to get the traditional "Start up" button back and put it at the lower left corner of the screen.
Users can also point the mouse to the left lower corner of the screen, then do the right click on the mouse, a menu would pop up and a list of options would be displayed there allowing user to choose.
User can choose "Search" to look for the apps. It would display quite the same screen mentioned above.
To get back to the desktop from the search screen, you just need to move the mouse to the upper left corner and click on the 'Desktop" icon, or try to move the mouse to the lower left corner again, and do the right click on your mouse, then from the menu, select "Desktop". Or simply put your mouse at the left lower corner, and do the left click on your mouse.
Since the first release of Windows 8 Preview, users are providing feedback about the UI and UX, and want to use the traditional desktop UI. To do it, it is as simple as just hitting one key on the keyboard of your PC, but to my own experience, I need to click the "Desktop" tile first in the "Metro" mode, which means the traditional desktop UI needs to be running on the CPU, then the click on the windows key on the PC's keyboard will switch me from Metro style to traditional style.
The other way to do it is to put your mouse at the lower left corner of the screen, then the icon of traditional desktop would show, and you can click it to switch. Or just put your mouse at the lower left corner, and do the left click on your mouse to switch back and forth between these 2 modes, this is the most easy way to do it.
After switching to the traditional desktop UI, you may find that there is not the "Star tup" button. Now in the social media, people are talking about Microsoft's latest decision to disable any 3rd party software capable of putting back the "Start up" button. One of the work around is to stick the app to the task bar.
Windows 8 provides similar functions of "Start up" button in other ways.
Please try to move your mouse to the lower right corner of the screen, which is near the end of the task bar, then a vertical menu would show up on the right side of the display, which has the options of "Search", "Share", "Start", "Devices" and "Settings". Putting mouse on the upper right corner of the screen would also work. I feel the motion event of the mouse is mimic the touch event on the screen, I think on tablet, user just need to touch the right corners of the display to show the menu.
In "Search", it would allow you to search the app you would like to you, and display a list of apps let you to choose. This feature provides quite the same function of "Start up" button which would list the apps when user clicks on it.
There seems to be no need to get the traditional "Start up" button back and put it at the lower left corner of the screen.
Users can also point the mouse to the left lower corner of the screen, then do the right click on the mouse, a menu would pop up and a list of options would be displayed there allowing user to choose.
User can choose "Search" to look for the apps. It would display quite the same screen mentioned above.
To get back to the desktop from the search screen, you just need to move the mouse to the upper left corner and click on the 'Desktop" icon, or try to move the mouse to the lower left corner again, and do the right click on your mouse, then from the menu, select "Desktop". Or simply put your mouse at the left lower corner, and do the left click on your mouse.
Tuesday, August 07, 2012
Nexus 7: Settings and menu issues
In my last post, I talked about the network options on Nexus 7 tablet, and mentioned that there is not data service or option of "internet pass through".
Now if you open Play Books application, click the menu at the upper right corner of the display, you would see "Settings" option, which means it is a "Setting" option you can use to set Play Books.
Now when you open the "Settings" option, you would see
a. Auto-rotate screen, under which it says "Use system setting", and you can not change it, and if you want to change it, you would need to go to the "system setting".
b. Download over Wi-Fi only, under which it says "To reduce carrier data charges, don't download over mobile networks", and you can check on or off the box on the right side. Because the current version of Nexus 7 is Wi-Fi only, there is not feature of network data service, so this option item is meaningless, no matter you check it on or off, you would be always downloading data over Wi-Fi.
c. Automatically read aloud, under which it says "Automatically read aloud when application starts if accessibility is set", and there is a check box on the right side.
So basically, only item c need to be listed on this view, and allow user to choose, item a and b should be invisible and hidden.
Oh, there is other issue when you compare the menu of Play Book and menu of Play Magazines.
On the menu of Play Books, there are the following option items:
a1. Make available offline
b1. View as list (or View as carousel)
c1. Refresh
d1. Accounts
e1. Settings
f1. Help.
On the menu of Play Magazines,
a2. View by title (or View recent)
b2. Show archived magazines
c2. Manage subscriptions
d2. Refresh
e2. Settings
f2. Help
It is very obvious that the order of the items is not the same.
At least, the last 3 menu items in Play Books would be
Refresh
Settings
Help
and the first two items would be
View as list
Make available office
which would make it a little bit better.
And for Play Magazines, in "Settings", there is an item "Account",
which has similar function of "Manage subscription".
Looks like "Play Books" and "Play Magazines" are designed by two teams/designers,
and developed by two separate teams also. Otherwise, this kind of issue would not happen in the these two products.
If you look at other apps, such as Play Movies, Music, YouTube, they have similar issues on the menu.
Now if you open Play Books application, click the menu at the upper right corner of the display, you would see "Settings" option, which means it is a "Setting" option you can use to set Play Books.
Now when you open the "Settings" option, you would see
a. Auto-rotate screen, under which it says "Use system setting", and you can not change it, and if you want to change it, you would need to go to the "system setting".
b. Download over Wi-Fi only, under which it says "To reduce carrier data charges, don't download over mobile networks", and you can check on or off the box on the right side. Because the current version of Nexus 7 is Wi-Fi only, there is not feature of network data service, so this option item is meaningless, no matter you check it on or off, you would be always downloading data over Wi-Fi.
c. Automatically read aloud, under which it says "Automatically read aloud when application starts if accessibility is set", and there is a check box on the right side.
So basically, only item c need to be listed on this view, and allow user to choose, item a and b should be invisible and hidden.
Oh, there is other issue when you compare the menu of Play Book and menu of Play Magazines.
On the menu of Play Books, there are the following option items:
a1. Make available offline
b1. View as list (or View as carousel)
c1. Refresh
d1. Accounts
e1. Settings
f1. Help.
On the menu of Play Magazines,
a2. View by title (or View recent)
b2. Show archived magazines
c2. Manage subscriptions
d2. Refresh
e2. Settings
f2. Help
It is very obvious that the order of the items is not the same.
At least, the last 3 menu items in Play Books would be
Refresh
Settings
Help
and the first two items would be
View as list
Make available office
which would make it a little bit better.
And for Play Magazines, in "Settings", there is an item "Account",
which has similar function of "Manage subscription".
Looks like "Play Books" and "Play Magazines" are designed by two teams/designers,
and developed by two separate teams also. Otherwise, this kind of issue would not happen in the these two products.
If you look at other apps, such as Play Movies, Music, YouTube, they have similar issues on the menu.
Nexus 7: limitations of networking options
The versions of Nexus 7 tablet o the market right now provide the networking options of Wi-Fi, NFC, and Android Beam. There is not model with network service from carriers/operators, and for the current version the internet pass through feature is not available either.
In the past two weeks, the NBC channel has been casting an advertisement for Nexus 7 tablet. The father and the son pair go out for camping and use their Nexus 7 to kill time. While watching the ad, I was wondering how they could check the emails, make a VOIP call, or do a video chat with their families and friend, share their outing photos, because there is not network data service feature for Nexus 7, they would not do it without other help, such as a mobile device with network data service as a hotspot, or connect the Nexus 7 tablet to the Ethernet cable.
If they choose to the hotspot of other mobile device, they have to bring at least one additional gadget, together with the charger and cables of this device. Or you may say that there may be public Wi-
Fi available for them to use. Of cause that is an option, but the problem is in most of outing sites (camping, picnic, beach), there would not be public Wi-Fi service. So probably they would need to bring a mobile hotspot with them.
Now look at the option of connect to Ethernet cable. I heard that this feature is disabled, but did not think the OEM would do this to Nexus 7. When manipulating the settings, I did not see that option, and did not dig into it further. Yesterday, when I tried to download a movie from Google Play, I tried to use the Ethernet connection, then did a search, people already found this issue. Some of them pointed out that a Ethernet adapter would be needed to connect Nexus 7 USB cable and the Ethernet cable. In the evening I dropped by the Staple's store near my home, and sales person said they do not have the adapter, and do not think people are using it anymore. I told the gentleman I would like to connect my Nexus 7 to Ethernet to download movies. He asked me why I would not use the Wi-Fi connection.
I told him I do not feel comfortable thinking about myself submersed in the Wi-Fi EMF fields.
He told me I can take a look at Amazon's online store. Yeah, Amazon, they sell almost everything.
Hopefully in the future, Google and OEM would enable the internet pass through feature on Nexus 7 tablet, and offer a version with network data service.
In the past two weeks, the NBC channel has been casting an advertisement for Nexus 7 tablet. The father and the son pair go out for camping and use their Nexus 7 to kill time. While watching the ad, I was wondering how they could check the emails, make a VOIP call, or do a video chat with their families and friend, share their outing photos, because there is not network data service feature for Nexus 7, they would not do it without other help, such as a mobile device with network data service as a hotspot, or connect the Nexus 7 tablet to the Ethernet cable.
If they choose to the hotspot of other mobile device, they have to bring at least one additional gadget, together with the charger and cables of this device. Or you may say that there may be public Wi-
Fi available for them to use. Of cause that is an option, but the problem is in most of outing sites (camping, picnic, beach), there would not be public Wi-Fi service. So probably they would need to bring a mobile hotspot with them.
Now look at the option of connect to Ethernet cable. I heard that this feature is disabled, but did not think the OEM would do this to Nexus 7. When manipulating the settings, I did not see that option, and did not dig into it further. Yesterday, when I tried to download a movie from Google Play, I tried to use the Ethernet connection, then did a search, people already found this issue. Some of them pointed out that a Ethernet adapter would be needed to connect Nexus 7 USB cable and the Ethernet cable. In the evening I dropped by the Staple's store near my home, and sales person said they do not have the adapter, and do not think people are using it anymore. I told the gentleman I would like to connect my Nexus 7 to Ethernet to download movies. He asked me why I would not use the Wi-Fi connection.
I told him I do not feel comfortable thinking about myself submersed in the Wi-Fi EMF fields.
He told me I can take a look at Amazon's online store. Yeah, Amazon, they sell almost everything.
Hopefully in the future, Google and OEM would enable the internet pass through feature on Nexus 7 tablet, and offer a version with network data service.
Friday, July 27, 2012
Nexus 7 tablet: NFC - how to align 2 devices to make a transaction
The Nexus 7 tablet offers the feature of NFC (and Google Beam) to transfer files with other NFC enabled device by putting them together.
In one of my previous posts, I included a photo of the inner side of the Nexus 7's back cover, it shows the antenna for NFC, it is located in the upper center part.
Because the size of the Nexus 7 tablet and the position and size of the NFC antenna, and these physical settings in other devices used to NFC (Google Beam) with Nexus 7, I found that it would make user try several times to find the correct position for the two devices to do a successful NFC transaction.
I used HTC One X (quad-core model) in my test. I tried several times to find the proper position to align these 2 devices back to back to make a successful NFC connection.
Since HTC One X is uni-body in design, it could not be open easily to find the position of its NFC antenna, so I do not know where the antenna is located on the back cover of HTC One.
Fortunately if there is a successful NFC connection, HTC One X would make a sound, so it did not take me several tries to find that out, I just slide the HTC One X on the back of Nexus 7, and quickly found out the antenna of HTC One X is fixed in the lower part of the phone back cover.
So you can imagine how it would look like when the two devices align well to make a successful NFC connection. The smaller device HTC One X sticks out of the upper edge of Nexus 7, and they need to be in the position of back to back. In the position of side-by-side, NFC connection would not happen.
Other interesting finding is that both of the devices need to be active, their screen would not be in lock state or in power off state.
Now if you would like to use NFC on your Nexus 7 tablet with other NFC enabled device,
please remember the NFC antenna of Nexus 7 is located in the upper-center of its back cover.,
and try to align other device with Nexus 7 at that part of the back cover.
In one of my previous posts, I included a photo of the inner side of the Nexus 7's back cover, it shows the antenna for NFC, it is located in the upper center part.
Because the size of the Nexus 7 tablet and the position and size of the NFC antenna, and these physical settings in other devices used to NFC (Google Beam) with Nexus 7, I found that it would make user try several times to find the correct position for the two devices to do a successful NFC transaction.
I used HTC One X (quad-core model) in my test. I tried several times to find the proper position to align these 2 devices back to back to make a successful NFC connection.
Since HTC One X is uni-body in design, it could not be open easily to find the position of its NFC antenna, so I do not know where the antenna is located on the back cover of HTC One.
Fortunately if there is a successful NFC connection, HTC One X would make a sound, so it did not take me several tries to find that out, I just slide the HTC One X on the back of Nexus 7, and quickly found out the antenna of HTC One X is fixed in the lower part of the phone back cover.
So you can imagine how it would look like when the two devices align well to make a successful NFC connection. The smaller device HTC One X sticks out of the upper edge of Nexus 7, and they need to be in the position of back to back. In the position of side-by-side, NFC connection would not happen.
Other interesting finding is that both of the devices need to be active, their screen would not be in lock state or in power off state.
Now if you would like to use NFC on your Nexus 7 tablet with other NFC enabled device,
please remember the NFC antenna of Nexus 7 is located in the upper-center of its back cover.,
and try to align other device with Nexus 7 at that part of the back cover.
Nexus 7 tablet: show surface updates,Pointer location
When I placed one of my phone on top of the Nexus 7 tablet, the camera of the phone can generate touch events when it touch the tablet screen. It happened to be that on the tablet, it is on the Developer options screen, and the camera of the phone turned on option of "Pointer location" and "Show surface updates". The coordinates and other values of the touching point would be displayed at the top of the screen near the row of notification bar, and the motion event trace would be drawn on the screen, the values are dX dY, (or X, Y when the touching point is moving), Xv, Yv, Prs, Size, the values of Xv and Yv look like to be speed or velocity, Size is the value of area value of the touching point, not sure the meaning of Prs, is it pressure or the perimeter value?
If "Show surface updates" is turned on, the screen would flash with different color.
The problems is if I turned on "Show surface updates" and clicked on the Home soft key, the home screen will keep blinking , indicating there are some surface updating events happening, though I did not touch the screen surface. I checked this on my phone, there is not such problem.
If "Show surface updates" is turned on, the screen would flash with different color.
The problems is if I turned on "Show surface updates" and clicked on the Home soft key, the home screen will keep blinking , indicating there are some surface updating events happening, though I did not touch the screen surface. I checked this on my phone, there is not such problem.
Thursday, July 26, 2012
Android: play with the samples
Android SDK includes a set of samples, allowing developers to check available features and learn how to use the APIs. Android plugin for Eclipse IDE makes it very easy for developers to play with the samples.
After installing the Eclipse, Android SDK manager, and ADT plugin for Eclipse,
you may first run the SDK manager to update all versions of Android SDK, 3rd party SDKs,
and you will find the samples under the folder where you installed Android SDK, for example, on my laptop, it is C:\android-sdk\samples. From there you can choose the sample of one SDK version.
1. Start up Eclipse IDE if it is not running.
2. From the menu, File-> New->Project -> Android -> Android Sample Project
3. In the dialogue window, choose "Next".
4. From the "Build Target" window, choose the version of the SDK from which the samples are included.
5. In the next window, please choose the sample you would like to check.
Now the sample project you select would be created in the workspace.
If you would like to load all of the samples coming with the SDK,
In the 2nd step above, you need to go the other way
2. From the menu, File -> New -> Project -> Android -> Android Project from Existing Code
3. Choose "Next"
4. From the dialogue window, choose the directory where the samples are located, for example C:\android-sdk\samples\android-16
5. Selected the projects you'd like to look at
6. If you'd like to, check "Copy projects into workspace".
7. Click "Finish".
Then the projects you selected would be loaded into Eclipse.
From here and on, you can dive into the source codes.
After building each project, you can install it to the device to play with it.
PS: I am using Eclipse 4.2 Juno 64bit for Windows.
After installing the Eclipse, Android SDK manager, and ADT plugin for Eclipse,
you may first run the SDK manager to update all versions of Android SDK, 3rd party SDKs,
and you will find the samples under the folder where you installed Android SDK, for example, on my laptop, it is C:\android-sdk\samples. From there you can choose the sample of one SDK version.
1. Start up Eclipse IDE if it is not running.
2. From the menu, File-> New->Project -> Android -> Android Sample Project
3. In the dialogue window, choose "Next".
4. From the "Build Target" window, choose the version of the SDK from which the samples are included.
5. In the next window, please choose the sample you would like to check.
Now the sample project you select would be created in the workspace.
If you would like to load all of the samples coming with the SDK,
In the 2nd step above, you need to go the other way
2. From the menu, File -> New -> Project -> Android -> Android Project from Existing Code
3. Choose "Next"
4. From the dialogue window, choose the directory where the samples are located, for example C:\android-sdk\samples\android-16
5. Selected the projects you'd like to look at
6. If you'd like to, check "Copy projects into workspace".
7. Click "Finish".
Then the projects you selected would be loaded into Eclipse.
From here and on, you can dive into the source codes.
After building each project, you can install it to the device to play with it.
PS: I am using Eclipse 4.2 Juno 64bit for Windows.
Android: set up app development environment
Android platform is more popular now that 5 years ago when it was just launched with the developer preview version. Now devices with Android framework are activated tons per day. It attracted millions of developers to develop applications for this platform.
It is recommended from official Google Android site, Eclipse IDE (version for Java developer and above) is to be used, though other IDEs can also be used.
The follow lists official links for setting up the development environment
Installing Eclipse
http://wiki.eclipse.org/Eclipse/Installation
The latest version as of July 2012 is 4.2 Juno.
Please note that Java SDK needs to be installed first before you install Eclipse,
it is available at Oracle (Sun) Java SDK download site
Installing Android SDK
http://developer.android.com/sdk/installing/index.html
On Windows machine, you just need to run the installer.
Adding platform and packages
http://developer.android.com/sdk/installing/adding-packages.html
Adding ADT plugin to Eclipse
http://developer.android.com/sdk/installing/installing-adt.html
Tools for Android application development
http://developer.android.com/tools/index.html
You may also consider install other tools, plugins, such revision controls,
into Eclipse
Subclipse - http://subclipse.tigris.org/update_1.8.x
Training guide for newcomers
http://developer.android.com/training/basics/firstapp/index.html
It is recommended from official Google Android site, Eclipse IDE (version for Java developer and above) is to be used, though other IDEs can also be used.
The follow lists official links for setting up the development environment
Installing Eclipse
http://wiki.eclipse.org/Eclipse/Installation
The latest version as of July 2012 is 4.2 Juno.
Please note that Java SDK needs to be installed first before you install Eclipse,
it is available at Oracle (Sun) Java SDK download site
Installing Android SDK
http://developer.android.com/sdk/installing/index.html
On Windows machine, you just need to run the installer.
Adding platform and packages
http://developer.android.com/sdk/installing/adding-packages.html
Adding ADT plugin to Eclipse
http://developer.android.com/sdk/installing/installing-adt.html
Tools for Android application development
http://developer.android.com/tools/index.html
You may also consider install other tools, plugins, such revision controls,
into Eclipse
Subclipse - http://subclipse.tigris.org/update_1.8.x
Training guide for newcomers
http://developer.android.com/training/basics/firstapp/index.html
Tuesday, July 24, 2012
How to publish your APIs in an Android SDK addon
If you happen to have a set of APIs and would like to package them into an Android addon to share with other developers, please first build a library project and compile all the source codes into java classes, and if possible use javadoc or other documentation tools to create the API documents. But before that, please make sure you have added enough info to the java source codes, so that this info would be extracted by the java documentation tool to create the API documents.
Now you can create a folder, called my.xyz.sdk. Inside of it, please create sub-folder "libs", "docs" to hold the jar file and API documents respectively. And if you also want to share the sample code, you may create a sub-folder "samples", and put the samples in it.
Inside of folder my.xyz.sdk, please create 3 text files, i.e., hardware.ini, manifest.ini and source.properties.
In hardware.ini, you can define display density and virtual machine heap size. For example
In manifest.ini, you can set parameters for the SDK addon, such as name, vendor, api level, version, library name, jar file and description. For example,
In the source.properties file, you can specify package description, addon name, package revision, addon vendor, and Android API level. For example,
Now all files in the MyXYZSDK folder and its sub-folders are ready.
Please proceed to use any compression tool, such Zip, 7zip, to zip the folder and create a zip file, named it as MyXYZSDK.zip.
If you want developers to download and install your SDK addon with Android SDK Manager, then
after the zip MyXYZSDK.zip is created, please open a command window, either on Windows machine or Linux, and use OpenSSL tool, sha1 or md5, to get the checksum value for the zip file,
copy and paste the checksum value into the repository.xml file.
In the repository.xml, you can define some parameters for the addon. The following is a sample.
Now if you would like to test the addon SDK downloading, you need to revise the repository.xml, and change the sdh_url value pointing to the url on your testing server.
Please put both repository.xml and MyXYZSDK.zip into the folder on your testing server. And on your local computer, create a testing xml file to list your SDK addon site, for example
and put it in a folder "sdktest".
From the command prompt on your local computer, set the path of SDK_TEST_BASE_URL to the full path of the "sdktest" folder, then run Android SDK Manager by starting "android". Now you can test the downloading of the MyXYZSDK.
If there are some errors, you may go to the steps mentioned above to repeat them again.
After all is well, you can move the MyXYZSDK.zip, repository.xml to your production server.
And also do not forget to contact Google to include the repository url into their SDK addon list,
so that developers would be able to see it in the list of Android SDK addon.
Now you can create a folder, called my.xyz.sdk. Inside of it, please create sub-folder "libs", "docs" to hold the jar file and API documents respectively. And if you also want to share the sample code, you may create a sub-folder "samples", and put the samples in it.
Inside of folder my.xyz.sdk, please create 3 text files, i.e., hardware.ini, manifest.ini and source.properties.
In hardware.ini, you can define display density and virtual machine heap size. For example
# Custom hardware options for the add-on.
# Properties defined here impact all AVD targetting this add-on.
# Each skin can also override those values with its own hardware.ini file.
hw.lcd.density=240
vm.heapSize=24
# Properties defined here impact all AVD targetting this add-on.
# Each skin can also override those values with its own hardware.ini file.
hw.lcd.density=240
vm.heapSize=24
In manifest.ini, you can set parameters for the SDK addon, such as name, vendor, api level, version, library name, jar file and description. For example,
# SDK Add-on Manifest
# File encoding is UTF-8
name=My XYZ SDK
vendor=My XYZ
# version of the Android platform on which this add-on is built.
api=10
# revision of the add-on
revision=1
# list of libraries, separated by a semi-colon.
libraries=MyXYZSDK;
MyXYZSDK=MyXYZSDK.jar; MyXYZ library# File encoding is UTF-8
name=My XYZ SDK
vendor=My XYZ
# version of the Android platform on which this add-on is built.
api=10
# revision of the add-on
revision=1
# list of libraries, separated by a semi-colon.
libraries=MyXYZSDK;
In the source.properties file, you can specify package description, addon name, package revision, addon vendor, and Android API level. For example,
### Android Tool: Source of this archive.
Pkg.Desc=My XYZ SDK - API Level 1.0.1
Addon.Name=MY XYZ addon Jul 23, 2012
Pkg.Revision=1.0.1
Addon.Vendor=My XYZ
AndroidVersion.ApiLevel=10
Pkg.Desc=My XYZ SDK - API Level 1.0.1
Addon.Name=MY XYZ addon Jul 23, 2012
Pkg.Revision=1.0.1
Addon.Vendor=My XYZ
AndroidVersion.ApiLevel=10
Now all files in the MyXYZSDK folder and its sub-folders are ready.
Please proceed to use any compression tool, such Zip, 7zip, to zip the folder and create a zip file, named it as MyXYZSDK.zip.
If you want developers to download and install your SDK addon with Android SDK Manager, then
after the zip MyXYZSDK.zip is created, please open a command window, either on Windows machine or Linux, and use OpenSSL tool, sha1 or md5, to get the checksum value for the zip file,
copy and paste the checksum value into the repository.xml file.
In the repository.xml, you can define some parameters for the addon. The following is a sample.
?xml version="1.0" encoding="UTF-8"?>
<sdk:sdk-addon
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sdk="http://schemas.android.com/sdk/android/addon/1">
<sdk:add-on>
<sdk:name>MY XYZ SDK</sdk:name>
<sdk:api-level>10</sdk:api-level>
<sdk:vendor>My XYZ</sdk:vendor>
<sdk:revision>1.0.1</sdk:revision>
<sdk:description>My XYZ SDK addon, API 10, revision 1.0.1</sdk:description>
<sdk:desc-url>http://myxyz.com</sdk:desc-url>
<sdk:uses-license ref="androidaddonlicense" />
<sdk:archives>
<sdk:archive os="any">
<sdk:size>27230698</sdk:size>
<sdk:checksum type="sha1">2d9ca1f0034d431b7f5096d3b4dd3574ac848d46</sdk:checksum>
<sdk:url>http://dl.myxyz.com/sdk/download/MyXYZSDK.zip</sdk:url>
</sdk:archive>
</sdk:archives>
<sdk:libs>
</sdk:libs>
</sdk:add-on>
<sdk:license type="text" id="androidaddonlicense">SOFTWARE DEVELOPERS TECHNOLOGY LICENSE AGREEMENT ..."></sdk:license>
</sdk:sdk-addon>
<sdk:sdk-addon
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sdk="http://schemas.android.com/sdk/android/addon/1">
<sdk:add-on>
<sdk:name>MY XYZ SDK</sdk:name>
<sdk:api-level>10</sdk:api-level>
<sdk:vendor>My XYZ</sdk:vendor>
<sdk:revision>1.0.1</sdk:revision>
<sdk:description>My XYZ SDK addon, API 10, revision 1.0.1</sdk:description>
<sdk:desc-url>http://myxyz.com</sdk:desc-url>
<sdk:uses-license ref="androidaddonlicense" />
<sdk:archives>
<sdk:archive os="any">
<sdk:size>27230698</sdk:size>
<sdk:checksum type="sha1">2d9ca1f0034d431b7f5096d3b4dd3574ac848d46</sdk:checksum>
<sdk:url>http://dl.myxyz.com/sdk/download/MyXYZSDK.zip</sdk:url>
</sdk:archive>
</sdk:archives>
<sdk:libs>
</sdk:libs>
</sdk:add-on>
<sdk:license type="text" id="androidaddonlicense">SOFTWARE DEVELOPERS TECHNOLOGY LICENSE AGREEMENT ..."></sdk:license>
</sdk:sdk-addon>
Now if you would like to test the addon SDK downloading, you need to revise the repository.xml, and change the sdh_url value pointing to the url on your testing server.
Please put both repository.xml and MyXYZSDK.zip into the folder on your testing server. And on your local computer, create a testing xml file to list your SDK addon site, for example
<?xml version="1.0"?>
<sdk:sdk-addons-list xmlns:sdk="http://schemas.android.com/sdk/android/addons-list/1"> <sdk:addon-site>
<sdk:url> https://dl-ssl.google.com/android/repository/addon.xml </sdk:url>
<sdk:name>Google Inc.</sdk:name>
</sdk:addon-site>
<sdk:addon-site>
<sdk:url>http://alpha-test.myxyz.com/sdk/addon.xml</sdk:url>
<sdk:name>MyXYZ</sdk:name>
</sdk:addon-site>
</sdk:sdk-addons-list>and put it in a folder "sdktest".
From the command prompt on your local computer, set the path of SDK_TEST_BASE_URL to the full path of the "sdktest" folder, then run Android SDK Manager by starting "android". Now you can test the downloading of the MyXYZSDK.
If there are some errors, you may go to the steps mentioned above to repeat them again.
After all is well, you can move the MyXYZSDK.zip, repository.xml to your production server.
And also do not forget to contact Google to include the repository url into their SDK addon list,
so that developers would be able to see it in the list of Android SDK addon.
Monday, July 23, 2012
Nexus 7: how to flash the device
After unlocking the boot loader of the device, owner can flash the device with customized roms, or when you screwed up with the customized rom, you can still try to flash the device with the official rom available from Google's download site.
Assuming you now have the rom to be used to flash the device, and have android tools, such adb, fastboot, on your computer, you may follow the steps below to flash the rom onto the device.
Before flashing the device, please make sure to back up all of your data files on your device. It is always safe to keep back up of your data.
1. Open a DOS command window (if you are using Windows machine) or a command prompt ( on Unix machine).
2. Connect your device to your PC with the USB cable.
3. Please make sure there is enough battery left on your device.
4. In the command prompt, run adb command, i.e., adb devices, to check if the device is recognized.
5. If the device is recognized, then run adb command, i.e., , adb reboot bootloader, to get the device into boot loader mode.
6. In the command prompt, run command, fastboot flash zip the-full-path-to-the-rom-zip-file .
7. In the command prompt, you will see the computer is sending the file to the device, and files are extracted out from the zip, and deployed.
8. Wait until the flash process is finished.
9. In the command prompt, run command to reboot the device if it is not rebooted automatically:
adb reboot, or fastboot reboot.
10. In case, the flashing process fails in the middle, it would remind you to flash again immediately. Please run the command, fastboot flash zip the-full-path-to-the-rom-zip-file, again.
11. In some cases, the 2nd and following runs of command above also fails, you will need to run the other flashing command, such as, fastboot oem rebootRUU, first, then run the flash zip command above.
After the device is flashed with the new rom, it would go through the setting up processes.
You may also consider locking it up again: fastboot oem lock
Assuming you now have the rom to be used to flash the device, and have android tools, such adb, fastboot, on your computer, you may follow the steps below to flash the rom onto the device.
Before flashing the device, please make sure to back up all of your data files on your device. It is always safe to keep back up of your data.
1. Open a DOS command window (if you are using Windows machine) or a command prompt ( on Unix machine).
2. Connect your device to your PC with the USB cable.
3. Please make sure there is enough battery left on your device.
4. In the command prompt, run adb command, i.e., adb devices, to check if the device is recognized.
5. If the device is recognized, then run adb command, i.e., , adb reboot bootloader, to get the device into boot loader mode.
6. In the command prompt, run command, fastboot flash zip the-full-path-to-the-rom-zip-file .
7. In the command prompt, you will see the computer is sending the file to the device, and files are extracted out from the zip, and deployed.
8. Wait until the flash process is finished.
9. In the command prompt, run command to reboot the device if it is not rebooted automatically:
adb reboot, or fastboot reboot.
10. In case, the flashing process fails in the middle, it would remind you to flash again immediately. Please run the command, fastboot flash zip the-full-path-to-the-rom-zip-file, again.
11. In some cases, the 2nd and following runs of command above also fails, you will need to run the other flashing command, such as, fastboot oem rebootRUU, first, then run the flash zip command above.
After the device is flashed with the new rom, it would go through the setting up processes.
You may also consider locking it up again: fastboot oem lock
Windows 8: tools needed to write app
Windows 8 apps would run on Windows 8 platform, no matter the hardware it a Desktop, laptop, netbook, tablet or phone. Apps developed on Windows 8 would be able to run on a range of devices running Windows 8 operating system.
In previous post, I talked about downloading Windows 8 Preview Release, and install the OS into hardware either as a host OS or as a virtual machine running on a host.
After installing Windows 8, developers would need to download and install other tools.
The IDE (Integrated Development Environment) for Windows 8 app development is the Visual Studio Express 2012
Other tools such as Blend for Visual Studio, Windows 8 SDK, project templates, Design assets, Windows 8 Advertisement SDK, Window 8 Live SDK, and Metro Style app samples are also available for download.
Please go to http://msdn.microsoft.com/en-us/windows/apps/br229516.aspx to download these tools.
In case you would be developing apps for users of languages other than English,
you can download the multilingual app toolkit for Visual Studio, and use it to localize the apps.
Enjoy developing apps for Windows 8.
In previous post, I talked about downloading Windows 8 Preview Release, and install the OS into hardware either as a host OS or as a virtual machine running on a host.
After installing Windows 8, developers would need to download and install other tools.
The IDE (Integrated Development Environment) for Windows 8 app development is the Visual Studio Express 2012
Other tools such as Blend for Visual Studio, Windows 8 SDK, project templates, Design assets, Windows 8 Advertisement SDK, Window 8 Live SDK, and Metro Style app samples are also available for download.
Please go to http://msdn.microsoft.com/en-us/windows/apps/br229516.aspx to download these tools.
In case you would be developing apps for users of languages other than English,
you can download the multilingual app toolkit for Visual Studio, and use it to localize the apps.
Enjoy developing apps for Windows 8.
Nexus 7: Taking off the back cover and peek inside of it
The Nexus 7 has a white polymer (PC + ABS, recycling category 7) back cover, it is very tightly fixed, originally I felt it would be not easy to take the back over off, and it turned out very easy to pull it off. I just used my finger nails along the side of the back cover and force it slowly to open.
The big chunk part is the battery, it uses about 1/3 of the space available to fit in the parts. Above the big battery, there is a hole on the board, it could be used to fit in a back camera.
On the back cover, there are several finger prints left on the copper foil, it should be from the worker who had worked on this unit.
ANTs for GPS, WiFi and NFC are also fixed on to the upper part of the back cover, all of them are from ACON. on the lower part of the back cover, there seems to be parts related geo-sensors.
I have not got chance to take a look at the arrangements of parts in Asus' other 7" tablet, but
the arrangement of the parts for Nexus 7 might be similar to those.
On the back cover, there are several finger prints left on the copper foil, it should be from the worker who had worked on this unit.
ANTs for GPS, WiFi and NFC are also fixed on to the upper part of the back cover, all of them are from ACON. on the lower part of the back cover, there seems to be parts related geo-sensors.
I have not got chance to take a look at the arrangements of parts in Asus' other 7" tablet, but
the arrangement of the parts for Nexus 7 might be similar to those.
Nexus 7: want to choose a touch sound? no way !
Nexus 7 is more of a hot topic now among mobile and tablet users.
One of the feature of it is to set sound for notification, and turn on or off the sound for touching event and screen lock event.
For notification sound, user can choose from a list sounds, or choose silent. I heard of the feature of setting sounds for different events, such as email update, phone call, text message, and social media update, but I did not find it out how to do it. Maybe I need to download something.
At first glance, in the Settings-> Sound, I saw options of "Default notification", "Touch sounds", "Screen lock sound", I assumed there are options for me to choose different sound for touch event and screen lock event.
but it turned out that these 2 settings are on-off option, unlike "Default notification" settings, Nexus 7 is not offering a list of sounds allowing user to choose, though the menu option item for touch event is "Touch sounds". User just is offered the option to turn on or off the sound.
I am wondering why Nexus 7 is not offering the same options of "Default notification" settings to "Touch sounds" settings and "Screen lock sound" settings.
One of the feature of it is to set sound for notification, and turn on or off the sound for touching event and screen lock event.
For notification sound, user can choose from a list sounds, or choose silent. I heard of the feature of setting sounds for different events, such as email update, phone call, text message, and social media update, but I did not find it out how to do it. Maybe I need to download something.
At first glance, in the Settings-> Sound, I saw options of "Default notification", "Touch sounds", "Screen lock sound", I assumed there are options for me to choose different sound for touch event and screen lock event.
but it turned out that these 2 settings are on-off option, unlike "Default notification" settings, Nexus 7 is not offering a list of sounds allowing user to choose, though the menu option item for touch event is "Touch sounds". User just is offered the option to turn on or off the sound.
I am wondering why Nexus 7 is not offering the same options of "Default notification" settings to "Touch sounds" settings and "Screen lock sound" settings.
Nexus 7: form "factorS"
People usually say Nexus 7 has a 7" form factor, which means the size of the screen.
I'd rather use the phrase "form factor" to describe the geometrical properties of the device, such as length, width and height when it is laid down on the surface.
These parameters are listed on the official page at Google page at http://www.google.com/nexus/#/7/specs, which read " SIZE 198.5 x 120 x 10.45mm". So the value of length is 198.5mm, width is 120mm, height is 10.45mm. I measured the screen size with the ruler, the length is about 150mm, the width is about 94 mm.
Just assume the width of the top frame is the same as that of the bottom frame, which look like it is, then the width of the top and bottom frame would be 24.25mm, and the width of the left and right frame would be 13mm. I realized that maybe the design is trying to mimic the ratio and size of real books, just like those eBook readers.
But considering the soft keys are used and there is only one not-so-good-front-face camera, the width of the top frame and bottom frame could be just as the same of the left frame and right frame, like that on Galaxy 10 tablet, then to me the tablet would look more prettier, and surely more lighter.
Now come to the height. While putting it side by side with iPad2, Galaxy 10 4G LTE, and HTC One X, it is easy to notice the Nexus 7 stands out. Some people may say that Nexus 7 packs some powerful hardware, e.g., quad core CPU, GPU, and sensors, into its belly, and more space is needed to solve technical issues, such as size of battery, cooling, etc., but just look at the HTC One X, it also has similar hardware, and all those pieces are packed into the phone.
What I want to say here is that, the Nexus 7 is kind of rush in design, it could have had a better design. But considering the time to show the device at Google IO, and its cheap price tag, it can be understood why it is it is now on the market.
Is the design just a copy of the Asus other 7" android tablet?
I'd rather use the phrase "form factor" to describe the geometrical properties of the device, such as length, width and height when it is laid down on the surface.
These parameters are listed on the official page at Google page at http://www.google.com/nexus/#/7/specs, which read " SIZE 198.5 x 120 x 10.45mm". So the value of length is 198.5mm, width is 120mm, height is 10.45mm. I measured the screen size with the ruler, the length is about 150mm, the width is about 94 mm.
Just assume the width of the top frame is the same as that of the bottom frame, which look like it is, then the width of the top and bottom frame would be 24.25mm, and the width of the left and right frame would be 13mm. I realized that maybe the design is trying to mimic the ratio and size of real books, just like those eBook readers.
But considering the soft keys are used and there is only one not-so-good-front-face camera, the width of the top frame and bottom frame could be just as the same of the left frame and right frame, like that on Galaxy 10 tablet, then to me the tablet would look more prettier, and surely more lighter.
Now come to the height. While putting it side by side with iPad2, Galaxy 10 4G LTE, and HTC One X, it is easy to notice the Nexus 7 stands out. Some people may say that Nexus 7 packs some powerful hardware, e.g., quad core CPU, GPU, and sensors, into its belly, and more space is needed to solve technical issues, such as size of battery, cooling, etc., but just look at the HTC One X, it also has similar hardware, and all those pieces are packed into the phone.
What I want to say here is that, the Nexus 7 is kind of rush in design, it could have had a better design. But considering the time to show the device at Google IO, and its cheap price tag, it can be understood why it is it is now on the market.
Is the design just a copy of the Asus other 7" android tablet?
Nexus 7 tablet: dark theme preloaded wallpapers
Google Nexus 7tablet (8GB version) comes with a black frame around the display. That may be the reason why all of the preloaded wallpapers are in the spectrum of darker range.
First, in the category of "Live wallpaper", there are "Bubbles", "Holo Spiral", "Phase Beam".
All of the them have dark color.
Then in the category of "Wallpaper", there are 10 wallpaper, 7 of them have dark color, 3 of them have light color.
Thanks to the option of "Gallery", which allows users choose their own photos as wallpaper.
By the way, if you pay attention to the menu on the wallpaper selection view,
the option for live wallpaper is "Live Wallpaper", the mixed case is different from other views.
And because the tablet is running Jelly Bean and using soft keys at the bottom, it makes user wondering why the frame at the bottom is so wide. The width would have been set the same as that of the frames on the left and right side. I have not open the case yet, maybe at the bottom, the space is used to pack in the hardware.
Please check the link below about display issue of Nexus 7,
http://www.zdnet.com/google-nexus-7-bright-image-compression-blamed-on-oem-incompetence-7000001450/
darker image would do well with the display, but brighter image would not.
Is this the reason why there are fewer brighter preloaded wallpaper ?
First, in the category of "Live wallpaper", there are "Bubbles", "Holo Spiral", "Phase Beam".
All of the them have dark color.
Then in the category of "Wallpaper", there are 10 wallpaper, 7 of them have dark color, 3 of them have light color.
Thanks to the option of "Gallery", which allows users choose their own photos as wallpaper.
By the way, if you pay attention to the menu on the wallpaper selection view,
the option for live wallpaper is "Live Wallpaper", the mixed case is different from other views.
And because the tablet is running Jelly Bean and using soft keys at the bottom, it makes user wondering why the frame at the bottom is so wide. The width would have been set the same as that of the frames on the left and right side. I have not open the case yet, maybe at the bottom, the space is used to pack in the hardware.
Please check the link below about display issue of Nexus 7,
http://www.zdnet.com/google-nexus-7-bright-image-compression-blamed-on-oem-incompetence-7000001450/
darker image would do well with the display, but brighter image would not.
Is this the reason why there are fewer brighter preloaded wallpaper ?
Monday, July 16, 2012
Windows 8: Metro Style Applications
Windows 8 allows user to run metro style applications. In the Start screen, applications are arranged as titles instead of icons. The data on the tile could be set as "alive", which means it could be updated periodically to reflect current state of the data belongs to application. Data can either be pushed to the live tile or ask for update from the service.
When the Metro style application is started up, it would use one window which fills the entire screen to host views in various layout formats. It can interact with user via traditional ways such as mouse, keyboard, but also the intuitive ways such as touch and pen. Communications between metro style applications are allowed through contracts. Data would be shared among metro style applications having contracts.
Developers can develop applications or application components in programming languages such as C#, VB.Net, C++, C++Extension, HTML5, Java Script. Application components developed in one programming language can be used in application developed in other programming language, this interoperability will encourage developers to develop reuse the components and save the development time for other applications in the future.
When the Metro style application is started up, it would use one window which fills the entire screen to host views in various layout formats. It can interact with user via traditional ways such as mouse, keyboard, but also the intuitive ways such as touch and pen. Communications between metro style applications are allowed through contracts. Data would be shared among metro style applications having contracts.
Developers can develop applications or application components in programming languages such as C#, VB.Net, C++, C++Extension, HTML5, Java Script. Application components developed in one programming language can be used in application developed in other programming language, this interoperability will encourage developers to develop reuse the components and save the development time for other applications in the future.
Sunday, July 15, 2012
Setup Window 8 VM on Oracle VirtualBox
The preview download can be found at http://msdn.microsoft.com/en-us/windows/apps/br229512.aspx.
You may either burn the iso image to a DVD or save it on USB drive.
Detail instructions of installing Windows 8 on Oracle Virtual Box could be found at http://windows8installation.com/?s=network+adapter&x=0&y=0 .
Please pay attention to the steps to choose network adapter.
When installing Windows 8 on Oracle Virtual Box, please check the System Requirements and set the corresponding configuration parameters correctly for the virtual machine.
I did not experience any issue when I went through the installing process,
but it took a little bit longer for my host laptop to install and create the VM.
Now it runs perfectly on top of the host machine.
Please note that, if your PC has multiple cores,
you may consider choose a certain numbers of cores for the Windows 8 virtual machine. This could be done in the settings of the virtual machine. But remember please do not assign all cores and RAM to the virtual machine, otherwise you may run into problem with the host machine, such as slow response or freeze. You can always change this settings every time before you start up the virtual machine.
Nexus 7: which preloaded apps can be used offline (without network connection)
On the given away Nexus 7 tablet from Google I/O 2012, there are 28 preloaded apps (including the Google Wallet, it got installed later in an update). Here is the list of apps that can be used by user when there is not network connection.
1. Calculator
2. Clock
3. Downloads
4. Earth (some features would need network connection)
5. Gallery (some features, such as sharing or sending, would need network connection)
6. Gmail (Gmail could work offline allowing user to check downloaded email)
7. Latitude (It would ask user to log into Google account, but user can skip it to view map)
8. Local (partially, user can view map, but not search)
9. Map (partially, user can view map, but some other features would not work without network connection)
10.Navigation (partially)
11. People (partially)
12.Play Music (partially, for files on device)
13. Play Books (for downloaded books, but would need a Google account)
14. Play Magazines (for downloaded magazines, but need a Google account)
So part of those preloaded apps would not fully work if there is not network connections,
these reloaded apps are heavily rely on network connection for user to use,
which means the data user would like to use is totally online, either provided by Google or other content and/or service providers.
But this model of Nexus 7 is Wi-Fi only version.
For users on the way without Wi-Fi hotspot to use,
this tablet is not very useful.
Even though there would public Wi-Fi network allowing users to get online,
users would have concerns of privacy, because the types of data and services they would be used via those preloaded apps.
It would be much better if Google is going to provide a model that can use wireless data services provide by carriers/operators.
1. Calculator
2. Clock
3. Downloads
4. Earth (some features would need network connection)
5. Gallery (some features, such as sharing or sending, would need network connection)
6. Gmail (Gmail could work offline allowing user to check downloaded email)
7. Latitude (It would ask user to log into Google account, but user can skip it to view map)
8. Local (partially, user can view map, but not search)
9. Map (partially, user can view map, but some other features would not work without network connection)
10.Navigation (partially)
11. People (partially)
12.Play Music (partially, for files on device)
13. Play Books (for downloaded books, but would need a Google account)
14. Play Magazines (for downloaded magazines, but need a Google account)
So part of those preloaded apps would not fully work if there is not network connections,
these reloaded apps are heavily rely on network connection for user to use,
which means the data user would like to use is totally online, either provided by Google or other content and/or service providers.
But this model of Nexus 7 is Wi-Fi only version.
For users on the way without Wi-Fi hotspot to use,
this tablet is not very useful.
Even though there would public Wi-Fi network allowing users to get online,
users would have concerns of privacy, because the types of data and services they would be used via those preloaded apps.
It would be much better if Google is going to provide a model that can use wireless data services provide by carriers/operators.
Sunday, July 08, 2012
Nexus 7: which preloaded apps need your gooogle account login
As it is mentioned in a previous post, the setting up process of the Google Nexus 7 tablet would need user's email account (Google gmail account). Looks like there is no way to by pass that step, but you may remove that account later after finishing the setting up process. However, some of the preloaded apps on the tablet definitely need user's
email account and need user to log into those accounts.
Here is the list of these apps:
1. Current
2. Email
3. Gmail
4. Google
5. G+
6. Latitude
7. Map (My places)
8. Messager
9. People (recommended)
10. Play Books
11. Play Magzines
12. Play Movies & TV
13. Play Store (will need account login when downloading apps)
14. Talk
15. Wallet
16. YouTube(if user want to upload or play playlist)
So totally 16 out of 28 preloaded apps or some features of these apps need user to log into user's Google account.
email account and need user to log into those accounts.
Here is the list of these apps:
1. Current
2. Email
3. Gmail
4. Google
5. G+
6. Latitude
7. Map (My places)
8. Messager
9. People (recommended)
10. Play Books
11. Play Magzines
12. Play Movies & TV
13. Play Store (will need account login when downloading apps)
14. Talk
15. Wallet
16. YouTube(if user want to upload or play playlist)
So totally 16 out of 28 preloaded apps or some features of these apps need user to log into user's Google account.
Wednesday, July 04, 2012
Nexus 7 Tablet: The Brain and The Belley
Nexus 7 tablet has the Android 4.1 as part of the brain, it is also called Jelly Bean. Besides the Jelly Bean, there is a set of services provided by Google, such as Google Now, Google Play, Voice Search, Google map, Google Plus, Chrome, YouTube, etc..
Most of these services are bound to user's Google account, and need network connection, which means, without Google account or network connection, these services would not be available. At the core is the Linux kernel 3.1.10. If you are curious, you may peek into the file system of the device.
The belly of the device is set of pieces of hardware, including the CPU, GPU, RAM, storage, camera, radio, the display, the battery, sensors, etc..
The CPU of Nexus 7 tablet is a quad core, working together with a 12-core Nvidia GPU and 1GB RAM. The Nexus 7 has a 7 inch display with 1280x800 resolution. The version of the tablet I got from IO has 8GB storage. It is said that the 16Wh Li-polymer battery can give 9.5 hours of backup.
The front-facing 1.2-megapixel camera can be used for video chat or taking low resolution photos, there is not rear camera.
Most of these services are bound to user's Google account, and need network connection, which means, without Google account or network connection, these services would not be available. At the core is the Linux kernel 3.1.10. If you are curious, you may peek into the file system of the device.
The belly of the device is set of pieces of hardware, including the CPU, GPU, RAM, storage, camera, radio, the display, the battery, sensors, etc..
The CPU of Nexus 7 tablet is a quad core, working together with a 12-core Nvidia GPU and 1GB RAM. The Nexus 7 has a 7 inch display with 1280x800 resolution. The version of the tablet I got from IO has 8GB storage. It is said that the 16Wh Li-polymer battery can give 9.5 hours of backup.
The front-facing 1.2-megapixel camera can be used for video chat or taking low resolution photos, there is not rear camera.
Tuesday, July 03, 2012
Nexus 7 tablet how to: unlocking bootloader
If you are a developer, you would most probably like to unlock bootloader of Nexus 7 tablet, or even root it.
Here I list the steps to unlock the bootloader.
It is assumed that you already have the Android SDK installed on your computer,
the tools, such adb, fastboot, are available. Please note that by unlocking the bootloader of your
Nexus 7 tablet, your data would be lost. Please back up your data before unlocking your tablet.
1. Make sure adb could see the Nexus 7 tablet when you connect it to PC using the included cable in the box. From the DOS command prompt, you can use the command "adb devices" to check if it is available. If it is not available on the output list of adb command, please follow the instructions to install drivers to the computer.
2. Boot the tablet into bootloader mode. You can run the command "adb reboot rebootloader" in the DOS command prompt. Please check the text at the left lower corner. If it says "Lock State - Unlocked", the bootloader of your Nexus 7 tablet has already been unlocked; otherwise, it would say "Lock State - Locked".
3. On your computer, please run "fastboot oem unlock" in the DOS prompt.
4. On your Nexus 7 tablet, please read the warnings on the screen and use the volume button on the right side of the tablet to navigate and choose "Yes" or "No", and use the power button to select and proceed.
5. On your computer, in the DOS prompt where you ran the "fastboot oem unlock" command, you will see the progress.
6. After it is done, please use the volume button on the right side of your Nexus 7 tablet to restart the device, or run "fastboot reboot" in the DOS prompt on your computer.
7. On your tablet, you will notice that the tablet is rebooting, and at the bottom of the screen,
you will see there is a lock and it is unlock, indicating your Nexus 7 tablet is unlocked.
8. Now you may proceed to the setting process.
Here I list the steps to unlock the bootloader.
It is assumed that you already have the Android SDK installed on your computer,
the tools, such adb, fastboot, are available. Please note that by unlocking the bootloader of your
Nexus 7 tablet, your data would be lost. Please back up your data before unlocking your tablet.
1. Make sure adb could see the Nexus 7 tablet when you connect it to PC using the included cable in the box. From the DOS command prompt, you can use the command "adb devices" to check if it is available. If it is not available on the output list of adb command, please follow the instructions to install drivers to the computer.
2. Boot the tablet into bootloader mode. You can run the command "adb reboot rebootloader" in the DOS command prompt. Please check the text at the left lower corner. If it says "Lock State - Unlocked", the bootloader of your Nexus 7 tablet has already been unlocked; otherwise, it would say "Lock State - Locked".
3. On your computer, please run "fastboot oem unlock" in the DOS prompt.
4. On your Nexus 7 tablet, please read the warnings on the screen and use the volume button on the right side of the tablet to navigate and choose "Yes" or "No", and use the power button to select and proceed.
5. On your computer, in the DOS prompt where you ran the "fastboot oem unlock" command, you will see the progress.
6. After it is done, please use the volume button on the right side of your Nexus 7 tablet to restart the device, or run "fastboot reboot" in the DOS prompt on your computer.
7. On your tablet, you will notice that the tablet is rebooting, and at the bottom of the screen,
you will see there is a lock and it is unlock, indicating your Nexus 7 tablet is unlocked.
8. Now you may proceed to the setting process.
Nexus 7 tablet How to: add or remove account
Beside the account you added in the device configuration process, you may want to add other accounts for the services Google provides, and you may also want to remove one account.
To add a new account,
1. Click on home button at the bottom of the screen
2. Click the application icon in the center of the row above the home button
3. Click on "Settings"
4. Scroll to "ACCOUNTS"
5. Click on "Add account"
6. Follow the instructions on the screen to add a new account
To remove an account from the Nexus 7 tablet,
1. Follow step 1 to step 4
2. Click on the account you want to remove
3. Click on the menu at the upper-right corner of the screen
4. Choose "Remove account" to remove it.
Please note that when you remove an account,
all data linked to this account may be deleted,
and may not be recovered.
To add a new account,
1. Click on home button at the bottom of the screen
2. Click the application icon in the center of the row above the home button
3. Click on "Settings"
4. Scroll to "ACCOUNTS"
5. Click on "Add account"
6. Follow the instructions on the screen to add a new account
To remove an account from the Nexus 7 tablet,
1. Follow step 1 to step 4
2. Click on the account you want to remove
3. Click on the menu at the upper-right corner of the screen
4. Choose "Remove account" to remove it.
Please note that when you remove an account,
all data linked to this account may be deleted,
and may not be recovered.
Saturday, June 30, 2012
Problem with Nexus 7 tablet, and sort of answers: WiFi settings, USB connection, drivers
I received a given away of Nexus 7 tablet at Google IO 2012.
When I was still the conference, I spent several minutes on setting it up.
As suggested I used the WiFi network connection and my Google account,
and did not find any issue in the process.
While checking to see if there is any way to log out my gmail account,
I could not see any menu option to allow me to log out of my gmail,
(though in the Settings, there is option to remove the gmail account)
so I decided to reset the device, then try to set it up again,
and that was where I found one issue:
If I choose to say I have a gmail account, but have not chosen any network connection, the device would keep trying to find the WiFi connection, and could not time out, and hanging on there.
Now I am at home, and trying to reset it again.
First I did a factory reset, then the device was booted up.
After selecting language, I came to the 2nd screen of setting up,
it was for selecting WiFi, now it seems there is no way to skip this step.
Looks like there are other issues with the device.
When I connected the Nexus 7 with my laptop using the USB cable,
the laptop tried to install some drivers for this new device.
Then I used the adb command to check if it is listed,
the "adb devices" command did not find the Nexus 7.
By the way, my laptop is Win7 64bit Enterprise version
on Intel i7 Q720@1.60GHZ, 10GB RAM.
I heard that some people also have the same issue.
At XDA, there are posts about installing PdaNet or 360 Mobile Assistant
to solve the problem (http://forum.xda-developers.com/showthread.php?p=28038699).
What I tried is the following:
First I connected the Nexus 7 to my laptop with the USB cable,
then I opened the Control panel to check the devices.
I saw Nexus 7 was listed as MTP storage device
when I selected MTP in USB computer connection, and
Nexus 7 was listed as Camera when I selected PTP.
I right-clicked the Nexus 7 to check its properties,
then choose the "Hardware" tab, and clicked on
the "Properties" button, following by clicking
on "Change settings".
In new window, in the "Drivers" tab, I clicked "Update drivers",
and repeated these steps for both MTP selection and PTP selection.
Now the device is listed in the output of "adb devices".
When I was still the conference, I spent several minutes on setting it up.
As suggested I used the WiFi network connection and my Google account,
and did not find any issue in the process.
While checking to see if there is any way to log out my gmail account,
I could not see any menu option to allow me to log out of my gmail,
(though in the Settings, there is option to remove the gmail account)
so I decided to reset the device, then try to set it up again,
and that was where I found one issue:
If I choose to say I have a gmail account, but have not chosen any network connection, the device would keep trying to find the WiFi connection, and could not time out, and hanging on there.
Now I am at home, and trying to reset it again.
First I did a factory reset, then the device was booted up.
After selecting language, I came to the 2nd screen of setting up,
it was for selecting WiFi, now it seems there is no way to skip this step.
Looks like there are other issues with the device.
When I connected the Nexus 7 with my laptop using the USB cable,
the laptop tried to install some drivers for this new device.
Then I used the adb command to check if it is listed,
the "adb devices" command did not find the Nexus 7.
By the way, my laptop is Win7 64bit Enterprise version
on Intel i7 Q720@1.60GHZ, 10GB RAM.
I heard that some people also have the same issue.
At XDA, there are posts about installing PdaNet or 360 Mobile Assistant
to solve the problem (http://forum.xda-developers.com/showthread.php?p=28038699).
What I tried is the following:
First I connected the Nexus 7 to my laptop with the USB cable,
then I opened the Control panel to check the devices.
I saw Nexus 7 was listed as MTP storage device
when I selected MTP in USB computer connection, and
Nexus 7 was listed as Camera when I selected PTP.
I right-clicked the Nexus 7 to check its properties,
then choose the "Hardware" tab, and clicked on
the "Properties" button, following by clicking
on "Change settings".
In new window, in the "Drivers" tab, I clicked "Update drivers",
and repeated these steps for both MTP selection and PTP selection.
Now the device is listed in the output of "adb devices".
Subscribe to:
Posts (Atom)