Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Android Device Driver Development

Options
  • 25-03-2014 12:41pm
    #1
    Closed Accounts Posts: 19,777 ✭✭✭✭


    Can anyone recommend any good tutorials/examples on developing (ideally avoiding C++) device drivers for Android, if possible on a Windows machine? There's a few tutorials (and lots of ebooks) around for Linux drivers, but I'm specifically looking for doing so for Android.

    Thanks.
    Tagged:


Comments

  • Registered Users Posts: 7,498 ✭✭✭BrokenArrows


    What do you mean by drivers for android?
    Anything for android needs to be developed with the Android sdk as I understand it.


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian




  • Registered Users Posts: 7,498 ✭✭✭BrokenArrows



    Ya I know what a device driver is!!

    Are you thinking of connecting 3rd party hardware devices onto your Android device or something?


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    Are you thinking of connecting 3rd party hardware devices onto your Android device or something?
    Amongst other things. Actually, the whole device is '3rd party'. Does it make a difference?


  • Technology & Internet Moderators Posts: 28,803 Mod ✭✭✭✭oscarBravo


    I would have thought there was relatively little difference between Android and Linux device driver development, what with Android running the Linux kernel and all.


  • Advertisement
  • Registered Users Posts: 1,311 ✭✭✭Procasinator


    I assume you want to write a kernel driver to run on the Android device?

    The reason you are seeing resources on developing drivers in Linux is because Android has a Linux-based kernel. It would then make further sense that tooling and resources on writing Linux drivers would be most prominent in Linux-land. I've no experience in kernel development for either Linux or Android, but from my understanding the differences in writing drivers between the two isn't necessary that distinct.

    With regards to developing in Windows, coincidently I have seen a product making the rounds recently that might be related. It's called VisualKernel, and it allows you to develop and debug Linux modules in Visual Studio. So maybe you could developer and debug your Linux drivers in Windows without creating a convoluted set-up yourself (though still convoluted, just somebody has done the tooling support), but you would be going off the beaten track, and you certainly wouldn't be avoiding learning about the plumbings of Linux.

    As for avoiding C++, you'll probably find that it's C rather than C++ that is the most appropriate to use anyhow.


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    The reason you are seeing resources on developing drivers in Linux is because Android has a Linux-based kernel. It would then make further sense that tooling and resources on writing Linux drivers would be most prominent in Linux-land. I've no experience in kernel development for either Linux or Android, but from my understanding the differences in writing drivers between the two isn't necessary that distinct.
    I am aware that the two overlap and that many Linux drivers can work with Android 'as is'. Why I specified Android tutorials/examples was to see if there was anything out there that highlighted the differences, as well as Android specific directions.
    With regards to developing in Windows, coincidently I have seen a product making the rounds recently that might be related. It's called VisualKernel, and it allows you to develop and debug Linux modules in Visual Studio. So maybe you could developer and debug your Linux drivers in Windows without creating a convoluted set-up yourself (though still convoluted, just somebody has done the tooling support), but you would be going off the beaten track, and you certainly wouldn't be avoiding learning about the plumbings of Linux.
    Thanks for that; pity it doesn't appear to run with Sharp Develop.
    As for avoiding C++, you'll probably find that it's C rather than C++ that is the most appropriate to use anyhow.
    I suspected that, it's just that while my C is rusty my C++ is almost non-existent.

    A belated thanks for your reply.


Advertisement