0

I am learning how to program in Android and I am using Android Developer Tools to deploy and test on a Samsung GT-5830L

If I decide to root this device and install cyanogenmod will I be able to deploy and test ?, or is it posible that certain parts of the Android Api get broken in this process

Mauricio Gracia Gutierrez
  • 10,288
  • 6
  • 68
  • 99
  • 1
    To an extent, that depends on if you are trying to do things that might not be allowable on a secured device. More generally though, serious development gets tested across a range of devices / versions, not just one - though obviously that's a budgetary challenge for a small shop. – Chris Stratton Sep 20 '13 at 18:06
  • @ChrisStratton I am not rooting my device to develop an app that takes advatange of being rooted I want to have al OS that allows me to remove the apps and other things that I dont need but my phone operator decided to include (rooting as a user and not part of the development) – Mauricio Gracia Gutierrez Sep 20 '13 at 18:16
  • Then to first order, your situation is the same as that of any other developer who only has a single test device available, with the exception that your test device exactly represents an even smaller slice of the market than most. – Chris Stratton Sep 20 '13 at 18:17
  • @ChrisStratton nice analysis but you are not answering my question. I also have a color Kindle for testing – Mauricio Gracia Gutierrez Sep 20 '13 at 18:19
  • Technically I'm posting a comment not an answer, but I believe I actually have answered your question to the degree to which it is answerable - no *single* Android device is sufficient for testing general applicability, as there are a multitude of versions and specific-model quirks in use. Neither cm nor official releases have any monopoly on quirks. – Chris Stratton Sep 20 '13 at 18:20
  • 1
    I believe the question here is whether a rooted cyanogenmod device can be used to conduct reliable tests, not whether doing only those tests is sufficient – personne3000 Sep 20 '13 at 19:29

3 Answers3

1

Unless you use functionalities that require rooting in your application (which is quite uncommon), a rooted CyanogenMod device is perfectly fit for testing. I even think a lot of users are in this situation, as I was myself.

If it were not fit for testing (e.g. if it were a really different environment), you could expect all the apps you use to have a weird behavior ; which is definitely not the case.

If I recall right, Google was even selling "developer phones" that were already rooted a while back ; I might be mistaken on this one though.

Edit : google "dev phones" were sim-unlocked and bootloader-unlocked phones according to http://en.wikipedia.org/wiki/Android_Dev_Phone, probably not sold already rooted (but easily rootable).

personne3000
  • 1,780
  • 3
  • 16
  • 27
1

whether you are rooted or not, certain api calls to hardware features will act differently from stock android versus any skinned android OS.

Cameras functions will be unreliable, reading files from SD cards and other I/O functions like sqlite databases can function unreliably, fragment activities can behave ways different than documented, positioning services may not work as expected, image manipulation won't address different heap sizes, direct interfacing with certain wireless radios will also give different results

Using a rooted phone with a modified OS will just further remove you from reality (than if you use stock android, as a starting point), as you make code that works and doesn't crash on your device, but as soon as you release it into the wild, even stock android users experience crashes you couldn't have foreseen.

CQM
  • 42,592
  • 75
  • 224
  • 366
  • I completely agree, especially on the point about camera functionality. I have personally come across an issue with the camera API not working in a predictable manner on a phone with Cyanogenmod, which caused unexpected crashes. I think the best thing you can do is test on multiple devices. Buying used ones on eBay or Craigslist, or even asking friends for their old phones may be some good options. – BVB Sep 20 '13 at 21:46
  • I'm not aware offhand of any CyanogenMod feature that breaks Google's native API. Sure, it may extend Google's functionality or slightly modify behavior, but typically not in a way that would break most apps. The claims about sqlite databases and camera functions breaking-- I'm skeptical. For a CyanogenMod port to be internally approved for official support, it usually must pass [Google's Compatibility Test Suite (CTS)](https://source.android.com/compatibility/overview.html). (Full disclosure: I've contributed to CyanogenMod...) – fattire Jan 26 '15 at 08:01
1

Yes it is fine! I myself have been developing on a rooted android phone running cyanogenmod and have had absolutely no problems so far.

My app uses everything from camera functions, reading SD card files, hibernate, fragment activities, location services, various libraries.

Alaa Awad
  • 3,612
  • 6
  • 25
  • 35