[Q] Sideloading Apks to multiple devices at once - Android Q&A, Help & Troubleshooting

Hullo.
Looking for a little advice from folks about sideloading apks to multiple android devices at once (like, 8 or 9 of em). Searched around the forums a bit and couldn't find anything directly relating to this issue, so I figured I'd ask. I dunno if this belongs more in App development, but its an Android specific issue so...
At present I'm using Test Flight App (I'd post the URL but I'm too much of a noob here) to manage builds and releases. Its really great for getting beta builds out to the studio team, and to various beta testers and potential partners.
However there are a few issues with it, which are particularly problematic for quick iterations etc.
1) Actually downloading the apks is a manual process per device. So if you've a small QA team (or are working solo) it takes alot of time to get the newest build onto everything.
2) Each build has to be uploaded via the Test Flight website, then distributed to users on a build by build basis. This is a difficult to automate process, so makes having any kind of continuous integration system for nightlies etc. difficult at best.
I've been looking into possibly doing something like installing a Dropbox on each device and automating CI builds to a dedicated folder, which is shared via Dropbox to everything, but its a bit of work up front to get it working and I may still have to actually manually install the things each time.
Any of you guys had any experience attempting to do something like this?

Figured I might as well come back and answer my own question incase anyone else was wondering.
Ended up using a USB hub to connect multiple devices then running a script that used ADB to get all attached devices, then passed that list one by one into the adb install function.
Still not ideal, as it requires a wired connection for each phone, but works for now.

Dansixminute said:
Figured I might as well come back and answer my own question incase anyone else was wondering.
Ended up using a USB hub to connect multiple devices then running a script that used ADB to get all attached devices, then passed that list one by one into the adb install function.
Still not ideal, as it requires a wired connection for each phone, but works for now.
Click to expand...
Click to collapse
How about Wireless ADB?
Check ADB Wireless on Play Store. (Unfortunately all phones must be rooted, because it requires ADB port to be set to 5555)
https://play.google.com/store/apps/details?id=com.wave18.adbwireless
I think you are using batch file to get ADB script for all devices.
Press Thanks if helped.

Related

Using a sideloaded Launcher with USB HID and rooted system for profit

How to make your Nexus Q awesome with built in Android ICS (using CyanogenMod Trebuchet Launcher per this example).
This is by popular demand on Youtube and other places to demonstrate how I love my Q at the moment, which I obtained from someone who attended IO 2012. I was playing with it to see how capable it is with stock OS and kernel at handling 1080 content. It took me longer to write these instructions than root the device. Much of what is noted here is scattered on the forums and internet, but more than one person told me they didn't see an explanation matching what they saw in the video.
WARNING WARNING WARNING:
If you proceed with these instructions, you will be unlocking your device. If you do not know what "fastboot oem unlock" means, you should research it FIRST and understand you are officially bypassing a disclaimer when running "fastboot oem unlock_accept". If you do not have Jelly Bean and got it off eBay (like me), you will need to hack the actual APK from Google some for core functionality. This document expects advanced understanding of Android, and many assumptions are made. I have tested it locally, but since my Q is already unlocked, I cannot go back to the beginning for complete testing. Proceed at your own caution.
Assumptions: You have a secksy Nexus Q. Also, if you have an ICS client device without Jelly Bean, or the Google Apps aren't doing enough for you, this document covers these areas. I run with the assumption you do not have a JB client device (I own a Note, Tablet S, and HTC Doubleshot all running ICS builds).
Pre-req:
*SKIP IF RUNNING JELLY BEAN ON CLIENT DEVICE* -- Somehow get the NexusQ client apk. I personally updated my SDK value to 16 in build.prop, and it showed up. Then adb pull the apk, use apktool to decompile it, edit the manifest to use SDK version 15 rather than 16, and use apktool/jarsigner to install it to an ICS client.
*SKIP IF YOU HAVE ENABLED USB DEBUGGING ON NEXUS Q* -- Use the Nexus Q Client app (installed above if in ICS) as owner, enable USB Debugging in Advanced. This (should) magically enable ADB Network mode too (it did for me). Via nmap, I found it listening on port 4321.
fastboot is installed on PC.
adb is installed on PC (and can see the Q).
Sources:
http://droidcloudshare.blogspot.com/2012/07/rooting-and-getting-hid-mouse-to-work.html#more
http://bliny.net/blog/post/How-to-Root-Nexus-Q-(Temporarily).aspx
For kernel (modules): git clone https://android.googlesource.com/kernel/omap. Branch is android-omap-steelhead-3.0-ics-aah.
Steps:
Connect PC to Q via USB.
Run 'adb reboot bootloader'
Run 'fastboot oem unlock'. Then (Within 5 seconds run this to confirm): 'fastboot oem unlock_accept'.
Download this file -- http://www.bliny.net/downloads/nexusq-boot.img. It is a Nexus Q boot.img with ro.secure=0, allowing us to remount /system and root device.
Setup USB Debugging in Nexus Q via client app all over again (may require clearing data from client device Nexus Q app).
Run 'adb reboot bootloader'
Run 'fastboot boot nexusq-boot.img'. Your Nexus Q will now boot up unlocked, allowing:
Run 'adb remount'
Push 'su' and 'Superuser.apk' from a good source. I use nightly CM9 su/Superuser from my HTC Doubleshot. Put su in /system/xbin/, put Superuser in /system/app. chmod the su binary 06755. (There's many pages documenting how this is done).
*OPTIONAL BUT RECOMMENDED* -- adb push busybox binary from a known good source (I also use recent CM9 binary). Busybox will allow you to do things like remount /system and other necessary shell commands after the temporary ro.secure=0 boot up. This might also be a good time to push bash, or whatever linux utilities you'd like to have.
*OPTIONAL BUT RECOMMENDED* -- adb install the default Browser.apk from your good source, such as CM9. No browser is on the Q by default. Chrome will work, so will Firefox. Adobe Flash works (very well) with the CM9 Browser.apk in stock ICS on the Q.
*OPTIONAL* -- Install gapps, just like you would via clockworkmod. Hell CWM maybe out there for all I know. I did it manually, pushing the libs/apks/etc to the right places on /system. Gmail/Play/Youtube all work.
Sideload/Install a Launcher, I choose Trebuchet, also from nightly CM9 Doubleshot. adb install the apk, it will work.
*OPTIONAL* -- Sideload as many apks as you like for testing. I was lazy, and grabbed my apps from my Doubleshot /data/app directory. I then did a simple scripted command to install them all. 'for i in *.apk ; do adb install $i ; done'.
Profit.
How I profit:
From a PC or phone (I personally use ssh on my HTC Doubleshot), adb into the device again (I use adb connect network), and run:
'am start com.cyanogenmod.trebuchet/.Launcher'
This starts Trebuchet, and you now have a Launcher. Not everything works (wallpapers and home button mapping), but you have it up. If using USB keyboard like I am, ALT+TAB gets you around well.
Use a USB Micro USB dongle with USB wifi keyboard/mouse combination. I have two of them (adapters and keyboards), they all work. It makes navigation neato.
Install CIFS module: Grab android-omap-steelhead-3.0-ics-aah branch from https://android.googlesource.com/kernel/omap, and compile the CIFS and md4 modules. Push these to the Q via adb. Install them in /system optionally. Load them via insmod. I scripted it: 'for i in /system/lib/modules/* ; do insmod $i ; done'.
EDIT -- See Page 3 for instructions verbose on making a cifs module and loading it.
I map the IP in /etc/hosts on my PC, so "nexusq" is the network address, making adb connect simply 'adb connect nexusq:4321').
I know there's more. I love this thing. Highlights include Netflix and Youtube HQ, Vplayer playing 1080 mkvs of 17gb in size across CIFS, games working (Angry Birds, etc), Apollo music working, G+ is neat, etc.
And there's much more hacking to do, I did this with limited time.
You tube video (CAUTION IT SUCKS FOR SHAKINESS):
http://youtube.com/watch?v=ejYNDt0EUuA
kornyone said:
You tube video (CAUTION IT SUCKS FOR SHAKINESS):
http://youtube.com/watch?v=ejYNDt0EUuA
Click to expand...
Click to collapse
i have that youtube shakiness issue even with the stock build when using my galaxy nexus to play the files on the q
mejdam said:
i have that youtube shakiness issue even with the stock build when using my galaxy nexus to play the files on the q
Click to expand...
Click to collapse
I actually meant my recording was shaky, as in I was moving all over the place and more focused on showing off stuff than keeping the camera pointed at the TV. I also rambled. It was late. I planned to re-record the video on Youtube, but it picked up popularity over night.
As for Youtube on the Q to the TV via HDMI -- as you can see in the video I am playing Radiohead Coachella HD, and it looks/works great. I have watched quite a bit of content on YouTube without issue.
I got my Q today. Can't wait to modify it to make it more capable of stuff
Sent from my Galaxy Nexus using xda premium
Great work! Could you test the tablet remote app to control the q? Would be incredible if it worked. Thanks!
Does the Android Market work?
Are there any apps/limitations that don't work?
How is the responsiveness on the device, using the keyboard and mouse and loading up heavy websites? Can the processor keep up?
I saw in your video that when you press home on the keyboard it takes you to the Nexus Q's "home". Would it be possible to go to your apps on the settings screen and remove all the defaults from the Nexus Q's launcher, then when you press home it should ask you about which home do you want to go to and have a check-box for if you want to set one as default? I'm not sure if that would work, but it's an idea.
Would it be possible for you to post the modified apk that works on ICS devices for those that are unfamiliar with the apktool? I promise a quick and generous donation for your time and effort if you can. :good:
thevaristy said:
Great work! Could you test the tablet remote app to control the q? Would be incredible if it worked. Thanks!
Click to expand...
Click to collapse
I plan to play with more input devices, specifically Bluetooth soon. I have not had a chance to hack the Q since Saturday, but soon It's near the top of my list.
You say "app" -- is there one in specific you're referring to?
Paul22000 said:
Does the Android Market work?
Are there any apps/limitations that don't work?
Click to expand...
Click to collapse
Yes, Google Play Market works. I don't have a screenshot of it, but I have one of play.google.com telling me my Q is not compatible with Github's new app (I saw it yesterday at work) -- http://dl.dropbox.com/u/44767242/images/google-play-cut.png.
I would say 75% of the apps of the apps I looked at in my history of downloaded apps were "Not Compatible" via Market. I am sure this is due to build.prop data and other build information. Sideloading "Not Compatible" apks proves most are compatible. Since the Market is so vast, many applications do show up as "Compatible" with the Q, and will install natively.
yokken said:
How is the responsiveness on the device, using the keyboard and mouse and loading up heavy websites? Can the processor keep up?
Click to expand...
Click to collapse
Keyboard and mouse are quick. No issues there. Loading heavy websites is fine depending on the type of content on it, and browser chosen. I found some pages that brought it to a halt when using desktop browsing mode (like G+) in Browser.apk from my recent CM9 builds (there's not a Brwoser on the Q). However things I thought would bomb out, like heavy Flash video embedded pages or other pages were fine.
Putting it in Tablet DPI range (~213 or so) makes the Chrome browser use native tabs like you're used to on your PC. @1080p, this is sweet. It's a shame it requires a DPI hack to get this.
Mars11_ said:
I saw in your video that when you press home on the keyboard it takes you to the Nexus Q's "home". Would it be possible to go to your apps on the settings screen and remove all the defaults from the Nexus Q's launcher, then when you press home it should ask you about which home do you want to go to and have a check-box for if you want to set one as default? I'm not sure if that would work, but it's an idea.
Click to expand...
Click to collapse
It's not the defaults option, I did check this. I also installed third party apks to help remap it. I found it's embedded in the startup of the Q's hub activities, and I did not want to rip it out, since I have not found a Factory Restore Image from Google (yet).
bobukcat said:
Would it be possible for you to post the modified apk that works on ICS devices for those that are unfamiliar with the apktool? I promise a quick and generous donation for your time and effort if you can. :good:
Click to expand...
Click to collapse
I can whip that up. I will make sure it's the latest Nexus Q apk in the Market, which last I looked, had never been updated.
Also JB did drop for AOSP, depending on your device, you could have compatibility soon
kornyone said:
I plan to play with more input devices, specifically Bluetooth soon. I have not had a chance to hack the Q since Saturday, but soon It's near the top of my list.
You say "app" -- is there one in specific you're referring to?
The app is called tablet remote. Name is kind of lame, but here is the link...
https://play.google.com/store/apps/...wxLDMsImNvbS50b3VybmVzb2wudGFibGV0cmVtb3RlIl0.
Click to expand...
Click to collapse
Oh yeah, I got a lot of feedback for this video. and I have more planned (as I am sure plenty others do!).
I created ##nexusq on Freenode, as I could not locate a pre-existing Freenode channel for Nexus Q haxxoring conversation. I am on there. I am not very good at checking XDA.
Is it possible to connect a mouse via bluetooth, or even connect to a laptop via bluetooth?
As for the mouse yeah. Its advertised on the front page:http://www.xda-developers.com/android/connect-an-hid-bluetooth-mouse-to-the-nexus-q/
I'll give you a killer feature request: Play my own media either via (preferred) an attached network drive or a an directly attached drive.
I tried the entire Saturday to make the "Tablet Remote" to work on Q but I couldn't, for some reason the Q showed as connect to the Galaxy Nexus when I asked for the connection but the Gnex showed as declined.
There is something related to the pairing key that is not working, the logcat showed that was not giving the correct key as answer and also the key didn't show on the Q screen...
I'll keep digging it, and really hope that someone discover how to do it quickier than me, it's something that is killing me and it's now the matter of honor!
I'm not too skilled, but without keyboard and mouse I did a lot of tricks on my Q using the adb, waiting for the host cable to start to play hard on it! I hope to discover something that could help the community!
thanks for getting the ball rolling!
Thanks so much for the groundbreaking work on this, I managed to reproduce all the steps excepting compiling CIFS.
To those that want to play networked stuff - I'm able to stream video via upnp over a network either through vplayer or upnp + mxplayer. Able to play angry birds, etc. Although Google Play movies aren't showing the free transformers one I got from Google I/O. Maybe cause it's locked to my Nexus 7?
Sideloading helps a lot, take advantage of adb over the network. Installing gapps from CM9 nightly works awesome. It would be nice to get trebuchet to autostart, I'm sure there's a way to do this, but I'm not knowledgeable enough to know if there's a way to start it via a run time / on boot level.
For keyboard and mouse, I'm using one of these: USB-Micro-Female-Male-Adaptor that I trimmed down with a knife to fit in the port.
I plug in a keyboard with a built in hub and a mouse goes into that. Works great, sort of like an Atrix docked.
If anyone is stuck I'm more than happy to help.
help
which program are you using on your sideshoot? I am trying to adb from my transformer prime and I guess I am not as much of an expert as I thought. Any help would be awesome.
ace2die said:
which program are you using on your sideshoot? I am trying to adb from my transformer prime and I guess I am not as much of an expert as I thought. Any help would be awesome.
Click to expand...
Click to collapse
Hey there
I'm sideloading on an ubuntu machine. I can't post links yet, but you basically need to follow
http:// forum.xda-developers.com/showthread.php?t=1550414
That will put adb on your machine. Use a charging cable to connect to the back and use a Nexus 7 to put your Q in developer mode.
Download the fastboot image and follow the directions from there.
Then run the adb scripts from that pc.
You'll also need, as in the instructions, a way to get certain programs off ICS (Su and superuser) and some launcher (trebuchet, nova, etc).
Hope this helps!

[CLOSED] Export Q Function to Any Android Device

Sorry Guys,
As there doesn't seem to be a whole lot of interest in this project and as no one stepped forward to assist, I'm afraid I'm going to have to abandon this project.
Thanks for following.
___________________________________
OK Guys,
I've run into a bit of a brick wall and need some input from other developers. One of the required APKs from the Q needs a class not included along with my CM9 or Samsung stock roms. The class appears to be called "android.os.UpdateLock". So how do I go about ripping the class out of the Nexus Q rom and injecting it into CM9? Any help would be very appreciated!$!
--------------------------------------------------------------------
Hello All,
The Project
I'm looking to embark on a project to rip out the cloud function from the Q and install it on any android device. I want the cloud streaming of "Google" music and movies without the $300 expense.
The Progress
As of today I have the Nexus Q Deodexed, ripped out several apk files including the Nexus Q "Launcher" HubBroker.apk. I've merged the apks along with the fonts and lib folders of /system and my Galaxy Tab now boots up and runs like a Q. Primary issue outstanding is, the Nexus Q app won't detect the "galaxy Q" through bluetooth. I assume that some functions of the Q are sitting either within the bluetooth libs or that the Nexus Q has a specific bluetooth address that the app needs to see before detection.
My next attempt will be to try taking apart the Nexus Q apk and either changing its bluetooth search criteria or removing it completely. Second to that if anyone out there has a Q and has it setup on their phone, I could use the /data/data folder to extract more information about how it works. Or even better if someone knows what config file is generated on the actual nexus Q when it's set up for that first time.
You can already do that on most android devices. The Q just takes it to the big screen conveniently.
The function of being able to control the Google queue of device A from device B, C, D etc does not exist. Or at least I'm not aware of an app that does that.
I believe that I've tracked down the apk that does it on the nexus but I need to deodex the apps and can't seem to find a tool that works. Anyone out there deodex this rom yet?
JoeJonnyBoy75 said:
Hello All,
The Project
I'm looking to embark on a project to rip out the cloud function from the Q and install it on any android device. I want the cloud streaming of "Google" music and movies without the $300 expense.
The Progress
As of today I have the Nexus Q Deodexed, ripped out several apk files including the Nexus Q "Launcher" HubBroker.apk. I've merged the apks along with the fonts and lib folders of /system and my Galaxy Tab now boots up and runs like a Q. Primary issue outstanding is, the Nexus Q app won't detect the "galaxy Q" through bluetooth. I assume that some functions of the Q are sitting either within the bluetooth libs or that the Nexus Q has a specific bluetooth address that the app needs to see before detection.
My next attempt will be to try taking apart the Nexus Q apk and either changing its bluetooth search criteria or removing it completely. Second to that if anyone out there has a Q and has it setup on their phone, I could use the /data/data folder to extract more information about how it works. Or even better if someone knows what config file is generated on the actual nexus Q when it's set up for that first time.
Click to expand...
Click to collapse
This is a pretty nice project and there is nothing like this happening in Android now, besides the nexus Q. I'd like to see a future port of it to Google TV devices
auad said:
I'd like to see a future port of it to Google TV devices
Click to expand...
Click to collapse
Would love to have this functionality in an APK for me Google TV. Don't see why it wouldn't work, well other then no bluetooth on the Revue....
Still very interested in this thread regardless of GTV. I will be following your progress. Thanks!
.
I'm looking for this as well.
I have 3 spare HTC EVO's, and they all have HDMI out. I would like to be able to just plug them into the TV and use my other phones to control them / play music / etc. Maybe even throw XBMC on them with the ability to control from another phone..
They're slower, and less memory..but it may be doable.
Did anyone dig into this? I'd like this for the latest port of Android for a Raspberry Pi and willing to do some of the (noob)stuff myself.
That would be awesome to use any HDMI equipped phone along with the Nexus Q functionalities. I'm really interested.
I guess the problem with the missing API is that the Nexus Q runs android JB and he tried with a cm9.
Vettekult said:
I guess the problem with the missing API is that the Nexus Q runs android JB and he tried with a cm9.
Click to expand...
Click to collapse
Not true, Q runs ICS...
Let me know...
what I can do to help. If you give me a run down on what you would like me to try as far as pulling files from the q or my connected devices just shoot me a PM and i'll give it a shot. I too would love to add this functionality to my spare devices laying around.
I've been interested in this since day one as well. IT is what has me almost ready to fork out the money on more then one occasion. I have a party coming up and it would be fun to have my N7 as the Jukebox.
The Class issue, I'm not sure about. Here is some info that might get it started.: http://www.itcsolutions.eu/2011/08/...te-a-new-activity-class-with-manifest-editor/
AND:
http://stackoverflow.com/questions/5012004/adding-a-new-class-to-android-project
It looks like it is something created with the app. Since you cut/pasted the apk into system it may not have been installed. But I'm thinking that it is something else. Some where in the android system lib's it is probably installed. Since this was a device dedicated to this purpose, they were able to install it into the system and the app calls it. I'm slowly learning to write apps (very slowly) so I am not sure beyond this, or even about this for that matter.
I do have a question. It looks like you pulled some system apps and put them in your galaxy tablet. I think a better test would be to basically replace all the /system contents of say a N7 (galaxy tab may work) with those from the Q. Then once it works, cut down the files until it stops. Then with a list of what is needed to make it work we could get down to the nitty gritty.
My guess is some more knowledgeable devs, like those who got Google Now working, would have a better idea.
I'd love to see a third party app do the jukebox function, I think a issue is license certificate (DRM) for the multiple users. I don't understand how the user is associated/authenticated for the music. One Question is if a user Ques up music then leaves does it cause that music to not be able to be played or will it still play once it's been que'd? My guess is the app just organizes the music/user who is next then when it's their turn it streams from their device in real time... but I'm really not sure about this.
joeavery2 said:
I've been interested in this since day one as well. IT is what has me almost ready to fork out the money on more then one occasion. I have a party coming up and it would be fun to have my N7 as the Jukebox.
The Class issue, I'm not sure about. Here is some info that might get it started.: http://www.itcsolutions.eu/2011/08/...te-a-new-activity-class-with-manifest-editor/
AND:
http://stackoverflow.com/questions/5012004/adding-a-new-class-to-android-project
It looks like it is something created with the app. Since you cut/pasted the apk into system it may not have been installed. But I'm thinking that it is something else. Some where in the android system lib's it is probably installed. Since this was a device dedicated to this purpose, they were able to install it into the system and the app calls it. I'm slowly learning to write apps (very slowly) so I am not sure beyond this, or even about this for that matter.
I do have a question. It looks like you pulled some system apps and put them in your galaxy tablet. I think a better test would be to basically replace all the /system contents of say a N7 (galaxy tab may work) with those from the Q. Then once it works, cut down the files until it stops. Then with a list of what is needed to make it work we could get down to the nitty gritty.
My guess is some more knowledgeable devs, like those who got Google Now working, would have a better idea.
I'd love to see a third party app do the jukebox function, I think a issue is license certificate (DRM) for the multiple users. I don't understand how the user is associated/authenticated for the music. One Question is if a user Ques up music then leaves does it cause that music to not be able to be played or will it still play once it's been que'd? My guess is the app just organizes the music/user who is next then when it's their turn it streams from their device in real time... but I'm really not sure about this.
Click to expand...
Click to collapse
Ok so here is some more detailed info for those of you still following the project.
HubBroker.apk is the app that is for all intents and purposes the "launcher" for the nexus Q. It will install on the Galaxy Tab and Nexus 7. It takes over your "home" and replaces it with a picture of the Nexus Q and a welcome sign. This app looks to be only the launcher as it doesn't do anything if you tap on it. Also having the app running doesn't allow the Nexus Q app (from your phone) to find the device.
So I assume that that the Q is controlled via bluetooth to get it setup and running. Including configuring the Wifi, network settings, etc. Oddly enough the app does send a request to android system to turn on the bluetooth and changes the bluetooth device name to Nexus Q.... The ... part is a odd string of characters that I assume is used in case you happen to have multiple Nexus Q's.
Now as just having the app doesn't seem to work (Phone finding the Q). I've replaced all the bluetooth libs with the ones from the Q. Still nothing. I've migrated all the other APK files and then I get FCs all over, and still no connection. I haven't tried replacing the whole system yet, but I assume the hardware differences would be to great. The only other piece of the puzzle I have yet to attempt it merging the kernels or at least the init parts of the kernel relating to bluetooth.
If you have any questions though let me know. I've been up and down this thing.
Why don't we just flash the img on an old phone and see if that works?
zAo_ said:
Why don't we just flash the img on an old phone and see if that works?
Click to expand...
Click to collapse
For that to work we'd need to get a device with similar hardware (CPU, Chipset, etc.) Not only that but it would need to have the same MTD setup unless I'm mistaken.
Actually I'm going to give that a try with the nexus 7. I'll let you know what happens, won't be till tonight though.
JoeJonnyBoy75 said:
For that to work we'd need to get a device with similar hardware (CPU, Chipset, etc.) Not only that but it would need to have the same MTD setup unless I'm mistaken.
Actually I'm going to give that a try with the nexus 7. I'll let you know what happens, won't be till tonight though.
Click to expand...
Click to collapse
Cool, Thanks.
Sent from my Galaxy Nexus using xda premium
JoeJonnyBoy75 said:
For that to work we'd need to get a device with similar hardware (CPU, Chipset, etc.) Not only that but it would need to have the same MTD setup unless I'm mistaken.
Actually I'm going to give that a try with the nexus 7. I'll let you know what happens, won't be till tonight though.
Click to expand...
Click to collapse
Galaxy nexus has very similar hardware. Someone should try porting it.
Sent from my Nexus 7 using xda premium
If someone still interested in the project, i'm very interested in it, i have a galaxy nexus (almost same hardware) so we can give it a try, im also a android developer, so if it need to build some apk for it to work, i could give a shot.
Anyway, if there is someone interested just post here and we do all we can to make that work.
edit: Only one problem, as I'm out of USA, i need the q apk to test if it will connect or not. I cant download from play store.
I'm sure there will be so many people interested in it. I just think that not to many of them enter this category on forum
I also need the nexus q image so I can flash it. I tried searching it but didnt find

Issues with Cloning Android to Identical Devices

Hey guys,
I have an issue I'm facing at the moment. I have purchased 3 Samsung Galaxy Nexus devices for my family, and one for myself. I wanted to setup all our devices for them and pre-install essential apps for them, and lay it out in a way which makes each device identical so that my family (which is new to Android) can all get the same easy experience from their devices, rather than everyone getting a different LG/Samsung/HTC device and having to deal with differences in skins every time someone phones me with a question about their device.
Here is what I have done:
1. Unlocked bootloader, root, installed CM10.1.2 + gapps onto my own personal device. Clean install, wiped everything.
2. Setup android with a temporary Gmail account, installed about 20 apps, setup the homescreen, changed a few settings for simplicity, change wallpapers, etc.
3. Once I was satisfied, I removed the google account, rebooted to recovery (CWM 6.0.3.2) and made a Nandroid backup which was later copied to my home server.
4. Unlocked Bootloader, rooted and installed CM10.1.2 + gapps on all the other devices, booted the device then transferred the Nandroid backup from my home server to each of these other three devices. Restore the backup, reboot, all seems fine so I setup new individual google accounts, and away I went. Everything works fine, at least so it seems.
Now the issue is that I'm having came a day or two after I got everything setup on each device. At the moment I'm having serious issues with the Google Play Store and Push Notifications. Almost all devices intermittently have issues with this. The play store issue I'm getting is [RPC:S-5:AEC-0], and prevents me from downloading or updating apps. Push notifications is not working either. For example, Google hangouts notifications don't notify me of messages on devices intermittently unless I manually check the app. Same goes with facebook and snapchat notifications. Very annoying. Tried all sorts of fixes such as removing the Google account, rebooting and adding it again, but no luck.
It seems like there is some sort of conflict with each device, but I don't understand why. I changed the Android ID on each device hoping that would help, but still no luck. If anyone could offer an explanation why this issue is occurring I would love to hear it!
Cheers.
Edit: Tried making a titanium backup of one device and moved it to a rooted Galaxy S2 running CM10.1 nightlies, and no such issue. Also, updated one nexus device to the latest nightly, still no fix. Hopefully this information will help someone be able to point out the problem somewhere.
Okay, so I've been playing with a couple of these devices today, and by removing a google account, rebooting the device and then adding the google account again, it makes the play store work on that device, but breaks functionality on the other devices. Would someone with a low-level understanding of Android care to explain why this is?
I'm going to try doing a factory reset on one of these Nexus devices and restore a Titanium Backup and see if that helps, unless anyone has any suggestions?
The different accounts are linked to the play store separately, you are best off to just downloaded each app and set up each phone with its own gmail account. I know it sounds time consuming but it would take less time than you've been spending already.
As you learn more about android there are lots of ways of doing almost exactly what you want here, but learning right now will take less time and effort than downloading 20 apps to three different phones
Sent from my Nexus 4 using xda premium
demkantor said:
The different accounts are linked to the play store separately, you are best off to just downloaded each app and set up each phone with its own gmail account. I know it sounds time consuming but it would take less time than you've been spending already.
As you learn more about android there are lots of ways of doing almost exactly what you want here, but learning right now will take less time and effort than downloading 20 apps to three different phones
Sent from my Nexus 4 using xda premium
Click to expand...
Click to collapse
Thanks for the advice, but at the same time I'm using my family as guinea pigs to test whether it's possible to clone devices like this, as I'm in charge of the IT department at our organisation and I suggested it may be possible to deploy a large number of identical rooted android devices through the organisation (probably around 30-40 devices to start with). At this stage though, there seems to be some issues with doing this. Would you be able to point me in the direction of how I could clone Android to several devices, or at least deploy an identical setup to several devices? Perhaps I'll need to customize my own ROM based on Cyanogenmod? Chances are I'll be having to support different hardware as well. This may include the Galaxy Nexus, Nexus 4, Xperia Z and the LG Optimus 4X HD.
Well the absolute best way, in my opinion, would be to create your own ROM.
And by this I don't mean you need to learn how to port or build from source (at least not at first) just some simple zipkanging will do for something like this
Take the ROM.zip, open it, take out apps and such you don't want, add it the ones you do, rezip and sign
Now flash this to each phone and they will all have the same ROM and can just add their Google account.
Now if you want to have certain settings or the system ui look different than this you will need to learn how to decompile some apks and edit xml files, but start slow, do what is easy and what you can't figure out let me know and I'll try to help
Sent from my Nexus 4 using xda premium
demkantor said:
Well the absolute best way, in my opinion, would be to create your own ROM.
And by this I don't mean you need to learn how to port or build from source (at least not at first) just some simple zipkanging will do for something like this
Take the ROM.zip, open it, take out apps and such you don't want, add it the ones you do, rezip and sign
Now flash this to each phone and they will all have the same ROM and can just add their Google account.
Now if you want to have certain settings or the system ui look different than this you will need to learn how to decompile some apks and edit xml files, but start slow, do what is easy and what you can't figure out let me know and I'll try to help
Sent from my Nexus 4 using xda premium
Click to expand...
Click to collapse
Thought this might be the case.
Is it relatively simple to copy the changes I make to one ROM (eg for a Galaxy Nexus) for another ROM (eg. for a Nexus 4)? Is there some sort of Android virtual machine I can test or build this in?
Not simple at all, I was referring to multiple phones of the same type. Its easy to create identical ROMs to be flashed between 30 n4s or 30 genexs, but to create the same identical ROM to work in both types of phones would require source builds matched to each device tree
Which if you know little about android, java, c++ etc, then you have a real long journey ahead of you.
If you want to have an identical ROM (based off one already in existence) be flashed to 30 identical phones this is relatively easy depending on what all you want
Like I said, start small, learn what's easily obtained, then try for something bigger
Sent from my Nexus 4 using xda premium
demkantor said:
Not simple at all, I was referring to multiple phones of the same type. Its easy to create identical ROMs to be flashed between 30 n4s or 30 genexs, but to create the same identical ROM to work in both types of phones would require source builds matched to each device tree
Which if you know little about android, java, c++ etc, then you have a real long journey ahead of you.
If you want to have an identical ROM (based off one already in existence) be flashed to 30 identical phones this is relatively easy depending on what all you want
Like I said, start small, learn what's easily obtained, then try for something bigger
Sent from my Nexus 4 using xda premium
Click to expand...
Click to collapse
The idea was to use CM10.1 as a base and simply add in some apps + app data and change some settings. Setting up the homescreen in a certain way would be part of that. The Galaxy Nexus, Nexus 4, Xperia Z, and LG Optimus 4X HD all support CM10.1 stable.
If I setup a device the way I want it, would it be possible to extract some of these custom configurations from the live device to a flashable ROM?
Just because there is the same ROM for each phone doesn't mean they are exact, but in your case probably good enough. But the change you would make would be to each individual ROM (on computer not on phone) and then flashed these new versions of your ROM to each phone.
You can not make changes to your phone when running the os and extract these changes and flash them to another phone easily, near impossible to do it to a different phone make
Like I have been saying, take a ROM, open it up on PC, change what you need, flash to phone. The simpler the changes the easier it is to do. This will have to be done on a case by case basis if you are doing it to multiple types of phones
Now if you give me a list of what you want to change exactly there may be a few things you can do on your phone but in reality this is the harder way, doing all the work on PC is the easier way
Sent from my Nexus 4 using xda premium
Yes, I understand that. I think what I'll have to do is record the changes I make to one ROM in a changelog of some sort, and then simply recreate these changes manually to other ROMs. Through the PC of course.
demkantor said:
Just because there is the same ROM for each phone doesn't mean they are exact, but in your case probably good enough. But the change you would make would be to each individual ROM (on computer not on phone) and then flashed these new versions of your ROM to each phone.
You can not make changes to your phone when running the os and extract these changes and flash them to another phone easily, near impossible to do it to a different phone make
Like I have been saying, take a ROM, open it up on PC, change what you need, flash to phone. The simpler the changes the easier it is to do. This will have to be done on a case by case basis if you are doing it to multiple types of phones
Now if you give me a list of what you want to change exactly there may be a few things you can do on your phone but in reality this is the harder way, doing all the work on PC is the easier way
Sent from my Nexus 4 using xda premium
Click to expand...
Click to collapse
Well for example, here are the outdated and rough changes I need to make to the settings (this is just a note of the changes in the settingsof the ROM to make it run way I wanted on the device). Attached it as a PDF as I couldn't copy the formatting.
Most of that should be doable by decompiling systemui.apk and settings.apk, somewhat time consuming and depending on your experience a steep learning curve, but should be able to do it
Sent from my Nexus 4 using xda premium

[$$$$$BOUNTY] To any dev that can write a apk to setup wifi bluetooth and adb debug

I along with the others in the community have recently been served by GOOGLE with the pull of the apk servers.
If you happen to hard reset your Q then your Q can no longer be setup rendering it useless.
I am willing to payout $50.00 to any dev that can engineer an apk that will allow the user to setup a stock NEXUS Q without googles servers.
The APK will have to do the following -> access and setup the initial setup, this includes, wifi, bluetooth, nfc and adb debugging to be able to load APK's to the systems as I am sure many will be coming that will make the Q worth building this for, hence why GOOGLE pulled the servers because they saw this coming ....all as the original apk did but without the GOOGLE servers or need for servers.
I have 3 of these units and they are great for music, I love the internal amps and want to retain all the internal functions of the ports, also the audio is better quality when stock compared to rooted and cm10.1'ed.
I have one working setup still, one on the shelf and one with cm10.1 working with cheapcast.
Bounty is as follows this will be updated as members add their payment amounts.
IAN-$50.00
***If you are going to attempt this or have questions DEVS email me is best.***
Thanks-Ian
ianandamy said:
I along with the others in the community have recently been served by GOOGLE with the pull of the apk servers.
If you happen to hard reset your Q then your Q can no longer be setup rendering it useless.
I am willing to payout $50.00 to any dev that can engineer an apk that will allow the user to setup a stock NEXUS Q without googles servers.
The APK will have to do the following -> access and setup the initial setup, this includes, wifi, bluetooth, nfc and adb debugging to be able to load APK's to the systems as I am sure many will be coming that will make the Q worth building this for, hence why GOOGLE pulled the servers because they saw this coming ....all as the original apk did but without the GOOGLE servers or need for servers.
I have 3 of these units and they are great for music, I love the internal amps and want to retain all the internal functions of the ports, also the audio is better quality when stock compared to rooted and cm10.1'ed.
I have one working setup still, one on the shelf and one with cm10.1 working with cheapcast.
Bounty is as follows this will be updated as members add their payment amounts.
IAN-$50.00
***If you are going to attempt this or have questions DEVS email me is best.***
Thanks-Ian
Click to expand...
Click to collapse
put this to the top sticky please
Even if somebody makes an apk, there's still the issue of getting it on a stock locked Q.
lokifish marz said:
even if somebody makes an apk, there's still the issue of getting it on a stock locked q.
Click to expand...
Click to collapse
it would be used from your phone like the factory apk
The problem I see is the Q's original BT authentication method has to hacked. If this passes through the servers then this is a serious hurdle. You cannot pair anything that requires you enter a pin on the Q as the dialog doesn't even exist. Considering how crippled stock is, unlocking and installed either a stock based ROM or CM10 would be my suggestion.
Lokifish Marz said:
The problem I see is the Q's original BT authentication method has to hacked. If this passes through the servers then this is a serious hurdle. You cannot pair anything that requires you enter a pin on the Q as the dialog doesn't even exist. Considering how crippled stock is, unlocking and installed either a stock based ROM or CM10 would be my suggestion.
Click to expand...
Click to collapse
Well if someone can write a stock rom or explain how to get adb debugging via usb working without the need to authorized it that would be a start. Because adb via wifi doesnt get the prompt and once you hookup a mouse in host mode you can not get the same usb to mount adb.
Any suggestions??
That is the biggest road block for me, while i know you can work around that it is a big crippling part of the q.
Is there enough interest for a dev to look at the factory setup procedure and see if they can re engineer around needing the servers? ? IDK
ianandamy said:
Well if someone can write a stock rom or explain how to get adb debugging via usb working without the need to authorized it that would be a start. Because adb via wifi doesnt get the prompt and once you hookup a mouse in host mode you can not get the same usb to mount adb.
Any suggestions??
That is the biggest road block for me, while i know you can work around that it is a big crippling part of the q.
Is there enough interest for a dev to look at the factory setup procedure and see if they can re engineer around needing the servers? ? IDK
Click to expand...
Click to collapse
There has been a working stock based ROM for about a year now. Prior to Google killing the Q function it worked as a dual mode with Nova Launcher as a desktop. Even now the desktop mode still works. All that's needed is a keyboard. Also ADB starts on boot even on a fresh install and even after a hard reset. In the current test build everything except Q mode and BT work.
Lokifish Marz said:
There has been a working stock based ROM for about a year now. Prior to Google killing the Q function it worked as a dual mode with Nova Launcher as a desktop. Even now the desktop mode still works. All that's needed is a keyboard. Also ADB starts on boot even on a fresh install and even after a hard reset. In the current test build everything except Q mode and BT work.
Click to expand...
Click to collapse
Are you talking about the one I used in my tutorial?
In dual boot does it have external AMP support?
So it does not prompt you for authorizing ADB once you try to? all 4.2.2 roms include that unless someone deved around that.
Yes I can adb in recovery on the rom I am using but not once booted into the rom it comes up unauthorized.
My Q's must have internal amp support. That is the whole point of the Q, if it doesn't why wouldn't I just go get a Denon Receiver and plug in a chrome cast??
ianandamy said:
Are you talking about the one I used in my tutorial?
In dual boot does it have external AMP support?
So it does not prompt you for authorizing ADB once you try to? all 4.2.2 roms include that unless someone deved around that.
Yes I can adb in recovery on the rom I am using but not once booted into the rom it comes up unauthorized.
My Q's must have internal amp support. That is the whole point of the Q, if it doesn't why wouldn't I just go get a Denon Receiver and plug in a chrome cast??
Click to expand...
Click to collapse
Which tutorial, what ROM?
The ROM I'm talking about supports every function that the stock Q does. BT never worked correctly without a workaround on the Q initially. The needed support was missing in the stock firmware when they released it.
It does not require ADB auth to connect.
Again, it supports every function that the stock Q does as well as having Nova as a "desktop".
(hint- check my sig)
Lokifish Marz said:
Which tutorial, what ROM?
The ROM I'm talking about supports every function that the stock Q does. BT never worked correctly without a workaround on the Q initially. The needed support was missing in the stock firmware when they released it.
It does not require ADB auth to connect.
Again, it supports every function that the stock Q does as well as having Nova as a "desktop".
(hint- check my sig)
Click to expand...
Click to collapse
So how do you log in to it without the nexus q apk not working now since its stock based?
I'm game to try this on my one rooted q running cm10.1 is it possible to and chromecast support or cheapcast to it?
Sent from my Nexus 4 using xda app-developers app
ianandamy said:
So how do you log in to it without the nexus q apk not working now since its stock based?
Click to expand...
Click to collapse
Are you talking ADB or initial setup? If you are talking ADB, then there is no login. Simply connect the Q to your computer and start ADB. If you are talking inital setup then you connect a KB and hit the "HOME" key and it skips setup and takes you to Nova launcher.
darb said:
I'm game to try this on my one rooted q running cm10.1 is it possible to and chromecast support or cheapcast to it?
Sent from my Nexus 4 using xda app-developers app
Click to expand...
Click to collapse
Your best option is to use BubbleUPnP and AirCast or similar app to fill in the gaps. Depending on how things go I may have an update in the next week or so.
Lokifish Marz said:
Your best option is to use BubbleUPnP and AirCast or similar app to fill in the gaps. Depending on how things go I may have an update in the next week or so.
Click to expand...
Click to collapse
that would be great if you could.
thanks
Lokifish Marz said:
Are you talking ADB or initial setup? If you are talking ADB, then there is no login. Simply connect the Q to your computer and start ADB. If you are talking inital setup then you connect a KB and hit the "HOME" key and it skips setup and takes you to Nova launcher.
Your best option is to use BubbleUPnP and AirCast or similar app to fill in the gaps. Depending on how things go I may have an update in the next week or so.
Click to expand...
Click to collapse
how is that updated rom coming for the q?
ianandamy said:
how is that updated rom coming for the q?
Click to expand...
Click to collapse
Not well. Check the weather in San Diego (over 90deg) and imagine no AC and the only ventilation is air from the outside.
Upnpcast...
For everyone still looking for Chromecast support: You may try upnpcast by bubbleguum. It runs as a service on your phone / tablet and enables you to cast to any dlna renderer on your network.
The cool thing about it is, that it works right out of the gmusic app on your phone. As soon as a dlna device is detected on your network,the chromecast button will appear in the gmusic app. Just select the renderer you want to play to and you are good to go.
To play to the Q, install cm10.1 and a dlna renderer (I use bubbleupnp). Running for hours now without a prob. Note though, that the app is 1.99 for unlimited use.
Due to the oppressive heat in my home I purchased some portable A/C units. It cost me going to and speaking at the Big Android BBQ this year which kind of bites as it was to one my last one for a while (baby on the way). Good news is that it is cool enough to run my box and now have a ton of time to dev.
How would you guys fell about xbmc/yatse vs bubble? I'll post more details as they become available.
Lokifish Marz said:
Due to the oppressive heat in my home I purchased some portable A/C units. It cost me going to and speaking at the Big Android BBQ this year which kind of bites as it was to one my last one for a while (baby on the way). Good news is that it is cool enough to run my box and now have a ton of time to dev.
How would you guys fell about xbmc/yatse vs bubble? I'll post more details as they become available.
Click to expand...
Click to collapse
I installed your ROM last night working well. Is there a way to default it to boot to the launcher without it being attached to a keyboard or display seems some of the other streaming options don't load till it hits the launcher screen other then that cheapcast is always working for me. Wish we could also get the q to sleep when unused and turn off the ring.
Can we build a chromecast rom without using cheapcast? I.e lunch the same software as the chromecast device on our Q's?
If we build chromium content shell for android and feed it the app.conf from the chromecast firmware OTA (I cant post links so I cant post the full app.conf)? Or do we need something more? Any linux/android experts have a clue? We can build the content_shell using the build instructions on the chromium wiki @ goggle code. (I cant post outside links). I cant find any web-server or something like that in the chromecast OTA 12940 firmware dump I found on the internet. Does the content_shell include a web-server?
app.conf
Code:
[
{
"url": "${POST_DATA}",
"local_only": true,
"app_name": "Fling",
"use_channel": true
},
{
"url": "XXX/tv?${POST_DATA}",
"app_name": "YouTube",
"use_channel": true
},
{
"url": "XXX/tv/i/mixed?${POST_DATA}",
"allow_empty_post_data": true,
"app_name": "IMAX",
"use_channel": true
},
{
"allow_empty_post_data": true,
"dial_info": "<port>9080</port><capabilities>websocket</capabilities>",
"command_line": "/bin/logwrapper /netflix/bin/netflix_init --data-dir /data/netflix/data -I /data/netflix/AACS -D QWS_DISPLAY=directfb -D LD_LIBRARY_PATH=/system/lib:/netflix/qt/lib -D NF_PLAYREADY_DIR=/data/netflix/playready -D KEYSTORE=/data/netflix/AACS -D KEYBOARD_PORT=7000 -D ENABLE_SECURITY_PATH=1 -D DISABLE_SECURITY_PATH_VIDEO=0 -D DISABLE_SECURITY_PATH_AUDIO=1 --dpi-friendlyname ${FRIENDLY_NAME} -Q source_type=12&dial=${URL_ENCODED_POST_DATA}",
"app_name": "Netflix",
"external": true
},
{
"url": "XXX/cv/receiver.html?${POST_DATA}",
"app_name": "ChromeCast",
"use_channel": true
},
{
"url": "XXX/video/avi/eureka?${URL_ENCODED_POST_DATA}",
"allow_empty_post_data": true,
"app_name": "PlayMovies",
"use_channel": true
},
{
"url": "XXX/eureka/sample/tictactoe/tictactoe.html?${POST_DATA}",
"allow_empty_post_data": true,
"app_name": "TicTacToe",
"use_channel": true
}
]
it seems like the content_shell is launched with this script
Code:
#!/bin/sh
exec /bin/logwrapper /chrome/content_shell --webcore-log-channels=Media --app-config-path=/app.conf --vmodule=*third_party/libjingle/*=3,rendezvous_connection=2,*=0 --js-flags="--trace_gc"

[Q] l2cap, bluetooth controller issues

Ok, I purchased the Nyko Playpad assuming because of the packaging that it would simply sync and then i would key map and i would be playing Castlevania:COTM right now after years of not owning an actual GameBoy. I tried the suggested/"included free software" available from the play store, I got the controller synced in APP mode, which only works for initial boot and in the app its self. It does not work as a mouse or HID input. One of my emulators has iCade support; so I set the controller to iCade, synced and then went to key map. Failure. I've gotten as far as getting the controller to recognize 2-4 commands from the controller at a time; however, they inputs were, I: straight into the google seach app thinger II: the back key III: 5/* IV: 8. so no really anything useful for playing any sort of game or even browsing in mouse mode.
I began re-reading all of the instructions, reviews and watching Nyko's how-to stuff on YouTube. Over the course of 5 hard hours of me being neck deep in failure and coding I don't fuly understand, I found my problem. Sense lacks proper l2cap support, apparently...
I tried Bluez IME, and its respective hid enabling apk. That did not work for me either.
So, right now, I'm looking at unlocking and possibly rooting.. I guess, I'm not ready to admit defeat and return the controller right yet. Will Cyanogen/any other stable homebrew unlock this for me without msoftware, I goe losing camera, BT, etc... functions? Will a simple unlock and a flash of the BT fix the issue or is it too closely tied to the sense input system? I'm not too familiar with all the coding, but I have been an Ubuntu user for about a decade, I know it's like the baby step, but it's quick and has me at least a little familiar with the Android's linux based system.
Stats-
model number: HTC6435LVW
hardware version: 003
Android version: 4.1.1 w/ Sense 4+
software number: 2.06.605.1 710RD
Any other stats needed can be gladly provided.
Help, guidance and ibuprofen are all greatly appreciated.
Unfortunately, unless someone has tried that specific controller with the software that you want to run, you'll just never know for sure.
Thanks to your post though, I just tried a Zagg Flexx keyboard which has never worked with Sense (4.1, I haven't tried newer Senses) and didn't work with CM 10.1. It is working just fine for me on CM 10.2.
Well snap, you think if i set up CM 10.2 it would be kosher and i could reinstall my emulators and game roms, proceed to link via BT and actually be able to use the thing as an input device?
I was going to just jump the gun and do it, but I'm having issues even compiling adb and the like... I'm on Ubuntu 12.10, afaik. The htc guide offers windows instructions, but only files for linux/mac use. I got stuck on a ".bin" step... the first one actually..
Could I get a step-by-step and a complete list of what I actually need? I've been all over and through 80+ page threads and watched an hours worth of youtube guides, many of which are thanks to this forum, and thank you, but I'm lost...
Guru guidance is much appreciated.
As I said, no way to know for sure unless someone has actually tried it. Every device potentially acts differently.
It should be easy to install (not compile) adb for linux. You need to install the Android SDK from Google and make sure you select the right component to get adb. Searching for
install adb linux
should give you easy instructions.

Categories

Resources