confused on how to build this libusb driver - Android Software Development

I have found a libusb project which was ported to Android:
https://github.com/monaka/libusb-compat-android
It includes an Android.mk, and after being built I should have a binary from examples/lsusb.c
But, I'm not entirely sure of how to build this and where to begin? I can see this happening in two ways. One, is building this library in a standalone way. Am I to do this with the NDK?
Next, I imagine building it along with the application I am developing in Eclipse using the SDK, there must be some way to bundle this in.
Could anyone provide any guidance on this? I'm a bit confused. I've done all of my development thus far in the SDK and Eclipse.

hedpe said:
Am I to do this with the NDK?
Click to expand...
Click to collapse
Yes, you need NDK. Visit Android NDK for instruction on how to bundle NDK and your java code. JNI is the key.

Related

Mac friendly dev apps

Hey Guys,
Whats the best tools for building the kernel? roms? rom kitchen etc.
For a macbook pro 17 10.6.4.
I seem to have problems with everything.
is there a tool-chain? for osx?
Thanks!
Wrong section buddy. Ask a mod to move it to general.
Sent from my SGH-T959 using XDA App
Alex530 said:
Wrong section buddy. Ask a mod to move it to general.
Sent from my SGH-T959 using XDA App
Click to expand...
Click to collapse
Honestly,
I dont see why this should go to general. Its about dev work. Hence in the android dev talk.
i agree, this is a development related question. I too would like to know where/which toolchain to get.
any help is greatly appreciated.
Development is for when you actually developed something.
Sent from my SGH-T959 using XDA App
vague questions about development in general on the android platform should go somewhere in here...
http://forum.xda-developers.com/forumdisplay.php?f=564
The vibrant section isnt the only subforum around here...
This section was made specifically for posting developments to the vibrant platform...
edit: oh yeah forgot about chef central all your cooking needs...
http://forum.xda-developers.com/forumdisplay.php?f=611
If you're looking to do kernel hacking or just build a system, then all you need is the command line. All of the tools in the SDK are written to be used this way, but if you're going to be editing source files, you may want a decent text editor (I like TextMate). If you're uncomfortable with the command line, then you probably shouldn't doing that kind of development.
For applications themselves, Eclipse is probably the way to go. It's a bit bulky (and not the nicest IDE), but it is quite competent and gets the job done. Plus, there are the ADT (Android Development Tools) that allows for graphical management of your SDK targets, as well as an AVD editor for setting up different emulator environments and one-button access to DDMS.
(While this question may have been best posted in the general Android dev section, I don't see any reason why it's not development related and should be in general or Q&A.)
rpcameron said:
If you're looking to do kernel hacking or just build a system, then all you need is the command line. All of the tools in the SDK are written to be used this way, but if you're going to be editing source files, you may want a decent text editor (I like TextMate). If you're uncomfortable with the command line, then you probably shouldn't doing that kind of development.
For applications themselves, Eclipse is probably the way to go. It's a bit bulky (and not the nicest IDE), but it is quite competent and gets the job done. Plus, there are the ADT (Android Development Tools) that allows for graphical management of your SDK targets, as well as an AVD editor for setting up different emulator environments and one-button access to DDMS.
(While this question may have been best posted in the general Android dev section, I don't see any reason why it's not development related and should be in general or Q&A.)
Click to expand...
Click to collapse
thanks rpcameron - we appreciate the info!
and vinnydakid why bother posting if it doesnt answer the question or provide direction. your comment just took up space...
sorry...double post...
rpcameron said:
If you're looking to do kernel hacking or just build a system, then all you need is the command line. All of the tools in the SDK are written to be used this way, but if you're going to be editing source files, you may want a decent text editor (I like TextMate). If you're uncomfortable with the command line, then you probably shouldn't doing that kind of development.
For applications themselves, Eclipse is probably the way to go. It's a bit bulky (and not the nicest IDE), but it is quite competent and gets the job done. Plus, there are the ADT (Android Development Tools) that allows for graphical management of your SDK targets, as well as an AVD editor for setting up different emulator environments and one-button access to DDMS.
(While this question may have been best posted in the general Android dev section, I don't see any reason why it's not development related and should be in general or Q&A.)
Click to expand...
Click to collapse
Thanks for this info.
I already use eclipe with the android plugin. That's how i was able to write the one click root apk.
But, ive tried a few rom kitchens. and they dont seem to work.
Also, Looking for a deox that will work on mac. For both APK/ROM.
Also, Looking to see how to build a kernel on a mac.
I think i need a working tool-chain to cross compile.
If someone can point me to it.
I haven't used it for android development yet, but xcode is an awesome application for programming on the mac. And best of all, not only is it free, but it ships on every osx install disc in the extras section.
Sent from my Vibrant using the XDA app.
Typos, incorrect words, gibberish, and other nonsense brought to you courtesy of Swype.
rhcp0112345 said:
Thanks for this info.
I already use eclipe with the android plugin. That's how i was able to write the one click root apk.
But, ive tried a few rom kitchens. and they dont seem to work.
Also, Looking for a deox that will work on mac. For both APK/ROM.
Also, Looking to see how to build a kernel on a mac.
I think i need a working tool-chain to cross compile.
If someone can point me to it.
Click to expand...
Click to collapse
To build a kernel from source on a mac, you're going to need to dual-boot linux (ubuntu seems to be very popular among devs) set up your dev environment and run a make (compile)
jroid said:
To build a kernel from source on a mac, you're going to need to dual-boot linux (ubuntu seems to be very popular among devs) set up your dev environment and run a make (compile)
Click to expand...
Click to collapse
I'm pretty certain that OS X can cross-compile Android's linux kernel. (I'm not 100% on this, but pretty certain. If it's not, a dual-boot is not necessary: I use a VM in VirtualBox.) However, if you're compiling Android sources (and AOSP), 10.6 is not presently supported (but it is possible, with work). Also, you need to use HFS+ with case-sensitivity—if your drive is not formatted for a case-sensitive filesystem, then building in a disk image is advisable.
Smali/baksmali both run on a Mac, so if you need to de-odex there is no problem there; but they are command line programs.
As far as a ROM kitchen: Call me crazy, because perhaps I'm in the minority here, but a "kitchen" is not really development in my eyes; it's putting a bunch of files into a zip file (which can be done on the command line, again), and perhaps editing a few text and/or XML files specific to the hardware.
In the end, other than ensuring your machine meets the requirements necessary to build the source (and you can find them at the source website, make sure to check the "Setting up your machine" section), the Mac already has all of the programs necessary. From what I've seen of most of Google's Android developers, many (if not most) use a Mac.
rpcameron said:
I'm pretty certain that OS X can cross-compile Android's linux kernel. (I'm not 100% on this, but pretty certain. If it's not, a dual-boot is not necessary: I use a VM in VirtualBox.) However, if you're compiling Android sources (and AOSP), 10.6 is not presently supported (but it is possible, with work). Also, you need to use HFS+ with case-sensitivity—if your drive is not formatted for a case-sensitive filesystem, then building in a disk image is advisable.
Smali/baksmali both run on a Mac, so if you need to de-odex there is no problem there; but they are command line programs.
As far as a ROM kitchen: Call me crazy, because perhaps I'm in the minority here, but a "kitchen" is not really development in my eyes; it's putting a bunch of files into a zip file (which can be done on the command line, again), and perhaps editing a few text and/or XML files specific to the hardware.
In the end, other than ensuring your machine meets the requirements necessary to build the source (and you can find them at the source website, make sure to check the "Setting up your machine" section), the Mac already has all of the programs necessary. From what I've seen of most of Google's Android developers, many (if not most) use a Mac.
Click to expand...
Click to collapse
At the moment MacOS 10.6 ("Snow Leopard") is not supported.
((((
well I meant vm when I said dual-boot. I'd recommend just to make a decent size partiton on your drive and install a linux distro. I'd rather make compiles on the full OS rather than compiling on a vm
I think im just going to wait for my netbook on WED. Macbooks only have 4G of ram. MAX. I hate VM'ing. slows everything down.
rpcameron said:
I'm pretty certain that OS X can cross-compile Android's linux kernel. (I'm not 100% on this, but pretty certain. If it's not, a dual-boot is not necessary: I use a VM in VirtualBox.)
Click to expand...
Click to collapse
After thinking on it a little, I realized the reason cross-compiling is an issue is only because of the processors, not because of OS X/xnu versus Linux. Cross-compiling is building for one processor on another—in this case, building for ARM on x86.
There really is no issue of OS X/xnu versus Linux because both are fully POSIX compliant; as long as the same build tools are used in the toolchain, the only issue is having an ARM toolchain running on x86. Don't know what I wasn't thinking clearly before, but there's the core of the matter.
Of course, the original caveats stand: building on 10.6 (Snow Leopard) is not supported, and the build cannot be done on a case-insensitive filesystem (which is the default for OS X). But git/repo and the rest of the build environment runs without a problem on 10.5, therefore there is no problem building Android/AOSP on a Mac. (Again, "cooking a ROM" is no problem regardless of your OS X version or filesystem, because nothing is really being built, only packaged.)
The kernel and even Eclair build even with Snow Leopard but you have to change some make files and fix some code. Google "android eclair 2.1 snow leopard" and you'll find a few links that tell you the changes needed. You also need to make some changes to build Eclair using the default Java 6 that comes with Snow Leopard - google it.
The toolchain for the kernel is Code Sourcery - both the 2009q4 and 2010q1 versions work. Also, you need to make sure that your disk is case-sensitive - or build a disk image that is case-sensitive and mount that, it is what I do. Again, google is your friend and there are some pages that tell you exactly what you need to do to set up the environment.
For development using the Android SDK, the installation page for the SDK tells you how to set it up on the Mac. You would use Eclipse for development. I tend to use emacs when in the Android code proper, while I use Eclipse for App development.
ROM kitchens - beats me. That's not development
-Atin
atinm said:
The kernel and even Eclair build even with Snow Leopard but you have to change some make files and fix some code. Google "android eclair 2.1 snow leopard" and you'll find a few links that tell you the changes needed. You also need to make some changes to build Eclair using the default Java 6 that comes with Snow Leopard - google it.
The toolchain for the kernel is Code Sourcery - both the 2009q4 and 2010q1 versions work. Also, you need to make sure that your disk is case-sensitive - or build a disk image that is case-sensitive and mount that, it is what I do. Again, google is your friend and there are some pages that tell you exactly what you need to do to set up the environment.
For development using the Android SDK, the installation page for the SDK tells you how to set it up on the Mac. You would use Eclipse for development. I tend to use emacs when in the Android code proper, while I use Eclipse for App development.
ROM kitchens - beats me. That's not development
-Atin
Click to expand...
Click to collapse
I read the 'thats what i do'
any chance you can share with me a pre-done version?
I really hate to go through all the work if its been done. (reinvent the wheel)
THANKS
rhcp0112345 said:
I read the 'thats what i do'
any chance you can share with me a pre-done version?
I really hate to go through all the work if its been done. (reinvent the wheel)
THANKS
Click to expand...
Click to collapse
I am assuming that you mean to build the kernel and eclair, not just do applications.
You will need to do *some* work if you want to build the kernel and eclair using Snow Leopard because you do have to set up your environment - read the http://source.android.com/source/download.html setting up your machine page to get that squared away and also install the code sourcery toolchain 2010q1 build. The changes in the eclair source are easy - use www.justinlee.sg/2010/06/22/compiling-android-2-1-eclair-source-on-mac-os-x-10-6-snow-leopard/ and follow the steps (there really are just two changes).
If you just want to build apps, then you don't need any of this and just need to install the SDK.

[Q] how do i start creating a custom rom?

hey everyone,
i've tried several roms and i like the idea of creating one.
i know how long of a process it can be and how many lines of code,
but i still want to do it.
i was wondering if there is someone else's rom i could use as a base?
if not how do i go about starting from scratch?
any information would be appreciated.
skennedy08 said:
hey everyone,
i've tried several roms and i like the idea of creating one.
i know how long of a process it can be and how many lines of code,
but i still want to do it.
i was wondering if there is someone else's rom i could use as a base?
if not how do i go about starting from scratch?
any information would be appreciated.
Click to expand...
Click to collapse
I believe some devs such as cvpcs may have released his source, but im sure most keep it private. To build your own, grab the android sdk from google, their source code, and the source for the 2.2 release for droid X
Sent from my DROIDX using XDA App
SysAdmin-X said:
I believe some devs such as cvpcs may have released his source, but im sure most keep it private. To build your own, grab the android sdk from google, their source code, and the source for the 2.2 release for droid X
Sent from my DROIDX using XDA App
Click to expand...
Click to collapse
alright i'll look at some developers and then i'll check out the sdk, thanks!
so i downloaded the sdk and everything, but i don't know how to get to editing and working on the stock 2.2.1 2.3.340 rom!
right now i'm just doing some easy stuff like making the boot animation
and designing some stuff on paper.
skennedy08 said:
so i downloaded the sdk and everything, but i don't know how to get to editing and working on the stock 2.2.1 2.3.340 rom!
right now i'm just doing some easy stuff like making the boot animation
and designing some stuff on paper.
Click to expand...
Click to collapse
You'll need some java knowledge, as I believe android is built off java... If you have some java programming experience, you're a step ahead. I believe Google also has some documentation and tutorials on their sdk page or a link from there.
SysAdmin-X said:
You'll need some java knowledge, as I believe android is built off java... If you have some java programming experience, you're a step ahead. I believe Google also has some documentation and tutorials on their sdk page or a link from there.
Click to expand...
Click to collapse
yeah i'm currently in the second half of a java programming class that is offered at my university.

[VMWare Image][9-DEC-2011] Android AOSP/ROM Developer Environment

Everyone is allowed to make changes to the VMWare image and re-upload it. If you re-upload the VMWare image with the made corrections, post the download link(s) in this thread. I will update the first post.
If there is a AOSP Developer that is willing to make a complete tutorial, please make one that works and is up-to-date with 2.3.7
The more people we have working on making ROMs, the better.
This VMWare image is:
- Base: Ubuntu 10.04 LTS
- ICS ready
- Gingerbread ready
- Fully updated
- Eclipse with ADT Plugin
- Android Kitchen Integrated
PASSWORD: root
Latest changelog (Coming soon)
- Based on 10.04 LTS instead of 11.10
- Different approach
Download link:
Bypass 24h wait time, limit reached --> Solution? Reset your ip! In Belgium this is easy by restarting your modem/router. This may be different in other countries.
more mirrors will come!
Part 1
Part 2
Part 3
Image is extracted, where do I start?
Continue from this link
How to build 2.3.7 for Nexus S
This is just a snippet that may help you.
repo init -b android-2.3.7_r1 < /dev/null (This branch is ready to use with Nexus S and Nexus S 4G)
repo sync
source build/envsetup.sh
lunch full_crespo-userdebug
make -j8 (-j8 = for eightcores like 2600k, 2630QM / -j4 = for quads 2500K/2620M/Q6600 / -j2 for dual cores / ...)
Click to expand...
Click to collapse
Don't forget to add the vendor files of the device. You need to download the scripts as well of the driver binaries.
Click to expand...
Click to collapse
I tested a quick build. And it's working.
A virtual machine with limited RAM in order to compile AOSP? Definitively not a good idea. Why not dual boot? Sooooo easy to install the worst distro ever (*buntu).
This is awesome. My only problem is that I only have VMWare Workstation 7.
Super! Waiting for this
djjonastybe said:
Dear community,
I made a AOSP developer environment for VMWare Workstation 8 or latest VMWare Player (free).
You can use this VMWare image as a base to build AOSP ROMs. Imade it for those having trouble getting it to work or maybe if you don't have time to set it up properly. Well if you are downloading this you might have a good reason!
Anyway have fun!
If there are any errors let me know.
This VMWare image is:
- ICS ready
- Gingerbread ready
- Fully updated
Download link:
...uploading...
Click to expand...
Click to collapse
Who would have guessed that an android dev would have difficulty setting up a linux enviroment . . . go figure.
You do not have to be an Android Dev to compile Android. I haven't written a single line of code for Android and can compile AOSP 2.3.7 fine.
This is simply to save time. And if you have good enough hardware (like myself) compiling Android AOSP in a VM session works perfectly fine.
Most people that are into computers have a rocking system. I have 12GB ram, I dedicate 8 for my VM and the rest for my main OS (windows 7). Works fine, what's the issue?
Some people don't want to dual boot and sometimes a Linux distro doesn't support certain hardware or can't be installed.
I would appreciate it. THANKS
nice.....this could be very useful
Sent from my Nexus S using xda premium
FeaRThiS: Who would have guessed that an android dev would have difficulty setting up a linux enviroment . . . go figure.
Click to expand...
Click to collapse
You seem to be the only one against uploading this.
Guys I am still trying to upload it. I am splitting it in 700MB sizes. Crocko's uploadservice is down. I will upload it on depositfiles and multiupload
12,5%
@FeaRThiS just stated the obvious. I also think the first step to understand how to build an AOSP ROM is knowing how to setup the development environment.
I don't have anything against using a VMWare image. But, IMHO, considering the time for uploading/downloading the file, if you do the setup yourself (in VMWare or whatever), you should have already been compiling your ROM by now.
suksit said:
@FeaRThiS just stated the obvious. I also think the first step to understand how to build an AOSP ROM is knowing how to setup the development environment.
I don't have anything against using a VMWare image. But, IMHO, considering the time for uploading/downloading the file, if you do the setup yourself (in VMWare or whatever), you should have already been compiling your ROM by now.
Click to expand...
Click to collapse
Okay, its not useful for you two.
Next!
I like it and i will try it.
djjonastybe said:
You seem to be the only one against uploading this.
Guys I am still trying to upload it. I am splitting it in 700MB sizes. Crocko's uploadservice is down. I will upload it on depositfiles and multiupload
12,5%
Click to expand...
Click to collapse
I have nothing against it and it may even be useful in case of emergency when you can not access a linux machine, but as stated by @S suxeN the first step for any dev would be learning to create their own dev enviroment.
i didnt say that.
but the statement is right. Anyways i yet think this image is of great use, as you can always start from there, if u did something wront, what can always happen to nun-linux users.
I don't know anything about linux. Is Eclipse with ADT on here by any chance? If not, what IDE is there to develop with in this VM?
I didn't think that far. Eclipse is not installed.
But I will work on it for next release. For now you have to install it manually. I hope tomorrow evening the new vmware will be uploaded!
Hey guys, don't be so hard on the fella. He's doing us a great service in a way. Not all of us are able to bring laptops wherever we go, dual-boot, etc. I just downloaded this to my external drive that I use to keep my stuff on for work and it'll come in handy when I wanna test apps without worrying about nuking my phone.
Also, it helps that I can demo apps on the thing to co-workers on screen than using a phone. That way I won't have to worry about them screwing things up if they decided to 'explore.'
http://code.google.com/android/nexus/drivers.html#crespogwk74
Can someone help me with this? This has the binaries for the Nexus S.
Where do I place the scripts?
I have a vendor folder with several maps in it now. But I don't know what I have to do now.
I placed the 'vendor' folder in my working directory. But lunch isn't showing up crespo in the list.
These are my steps:
Building
I executed lunch. I realised I did not have crespo in the list. So next, I read the line 'Building for devices'.
Eventually I ended up here:
Building devices
Obtaining proprietary binaries
Starting with IceCreamSandwich, the Android Open-Source Project can't be used from pure source code only, and requires additional hardware-related proprietary libraries to run, specifically for hardware graphics acceleration.
Official binaries for Nexus S, Nexus S 4G, Galaxy Nexus, and PandaBoard can be downloaded fromGoogle's Nexus driver page, which add access to additional hardware capabilities with non-Open-Source code.
There are no official binaries for Nexus One, ADP2 or ADP1., ADP2 or ADP1.
Click to expand...
Click to collapse
I clicked the link and downloaded the GWK74 binaries.
Now then I read further:
Extracting the proprietary binaries
Each set of binaries comes as a self-extracting script in a compressed archive. After uncompressing each archive, run the included self-extracting script from the root of the source tree, confirm that you agree to the terms of the enclosed license agreement, and the binaries and their matching makefiles will get installed in the vendor/ hierarchy of the source tree.
Click to expand...
Click to collapse
I have the vendor hierarchy...
Do I have to put these files in:
my home folder/bin
OR
home folder/workingdirectory_name
Or what do I have to do now?
updated first post with small hint on how to download 2.3.7 for our Nexus S. Good luck!
yep, i think this is pretty awesome. for me, i'm not an android dev but i've dabbled with theming and porting mods from other phones to the epic 4G previously. i'd love to be able to start with a system ready to go and mess around with some guides to learn how to compile source, etc... thanks.
Nice image man, gonna give it a go later. Thought I'd put my word in the discussion , sure there lots of talented devs, but they have all got different hardware/software and time requirements. So this becomes a useful tool to add to the inventory.

A beginner need help... what is the concept of android programming?

Hi everyone, I'm new to the android programming playground and it looks complicated. I have no experience in Java, only in Python and JavaScript. I have seen some tutorials before and I just don't understand the .java file. How do they connect? public void? What is this? I don't want to use ruboto or kivy or phonegap or anything else because I want my app to be independent. I have no problems with the xml files because I have worked with HTML files before. The only thing is the java files. Can someone give me a nice concept of the android programming language? About how do the files get wired, about starting an activity, and more if available. The android programming tutorial on developers.android.com never helps. Any help is appreciated!
Angjinhang said:
Hi everyone, I'm new to the android programming playground and it looks complicated. I have no experience in Java, only in Python and JavaScript. I have seen some tutorials before and I just don't understand the .java file. How do they connect? public void? What is this? I don't want to use ruboto or kivy or phonegap or anything else because I want my app to be independent. I have no problems with the xml files because I have worked with HTML files before. The only thing is the java files. Can someone give me a nice concept of the android programming language? About how do the files get wired, about starting an activity, and more if available. The android programming tutorial on developers.android.com never helps. Any help is appreciated!
Click to expand...
Click to collapse
If you have worked only with python and JavaScript, Java will certainly feel like an alien language. In addition, navigating through eclipse can be a pain as well. Learning three things (Java, usage of Eclipse, & Android Development) together is next to impossible.
I would suggest that you pick up on the basics of Java first. That will make your development with Android easier.
You should also go through this thread: Free Online Mobile Development Courses (Java, Android, etc.)
Thanks a lot.
Nice reply. I finally found the information i need. You are right. I need some java basics before starting. Actually what is the relationship between android and java?
Angjinhang said:
what is the relationship between android and java?
Click to expand...
Click to collapse
Android is an operating system. To develop Apps which work on it, you use Java, and call the various methods provided in the Android API.
Your App is compiled to bytecode. They are then converted from Java Virtual Machine-compatible .class files to Dalvik-compatible .dex (Dalvik Executable) files before installation on a device.
Dalvik is the process virtual machine (VM) in Google's Android operating system. It is the software that runs the apps on Android devices.
You can also use C++ to write for certain low level processing, which is faster than running in the Dalvik Virtual Machine.
To simpilfy you can think of android as a framework written on java like BootstrapTwitter written on JavaScript
Sent from my GT-S5302 using Tapatalk 2
So... you meen like Ubuntu is an operating system. To develop apps for it, I use python. Am I right?
Angjinhang said:
So... you meen like Ubuntu is an operating system. To develop apps for it, I use python. Am I right?
Click to expand...
Click to collapse
Exactly
Sent from my GT-S5302 using Tapatalk 2

Need help in compiling ASOP keyboard.

I have downloaded android keyboard source code. I but it contains some ndk code. I don't have ndk on my PC to compile it. I need someone to compile it and give lib please. I will attach ndk code here.
You can download the NDK from android developers website. https://developer.android.com/tools/sdk/ndk/index.html
There should be a guide for installation, also for compiling with eclipse.
Noted to self thrice via tapatalk
Can't download. my Internet connection is too slow to download huge files.
Sent from my Xperia Neo V using Tapatalk

Categories

Resources