[CALLING EVERY MEMBER] Fit Group DEV. Learning - Samsung Galaxy Fit GT 5670

Hello peeps,
I see there is not much activity going on between the users of Fit.
I need a list of all the people who are here and using the fit phone.
Members try to participate actively and help get past the Low Activty Barrier
Also, I wanna know who is ready to do what. These are the perspectives what I am looking for. Users can sign up for multiple posts also!
->Kernel Developement Team
-> Custom ROM Developers
-> Maintainers of Custom ROM and Helpers
-> Beta Testers
-> Mods Informer
-> Theme Creator
-> THeme Porter
-> Rom Testing
-> Custom ROM testing
-> Problem Fixes Testing
-> Doubt-clearance Member
-> DEV. Teacher!
As A initiative, I am also creating a Twitter account. Anybody who would like to create a Facebook Group for the phone's DEV and Testing team is free to do so!
Please Enroll your name below and tell us what time can you spend for what purpose!
Please Help Fit have a Bright Future! Please E-Mail us your Selected Criteria. I will add you to the mailing list. You can get all teh information on what the DEVs. are working about and stuff!
The E-mail Address of the Fit DevTeam-> [email protected]
Twitter ID-> @dev_GalaxyFit
Follow us on Twitter for all the updates on Developments
Regards,
Rohan Mallya.

I sign up for
->Custom Rom DEV.
-> Maintainers of Custom ROM and Helpers
->Mods Informer

Ok i want to be kernel developer and doubt clearance but i have to learn to develop kernel

omarhasan76 said:
Ok i want to be kernel developer and doubt clearance but i have to learn to develop kernel
Click to expand...
Click to collapse
Take your time! And, share the sources from where you are learning! Follow us on Twitter

I sign up for
->Beta tester
->ROM and Custom ROM tester
->Doubt Clearance member
Will add up responsibilities as and when I learn

spike1902 said:
I sign up for
->Beta tester
->ROM and Custom ROM tester
->Doubt Clearance member
Will add up responsibilities as and when I learn
Click to expand...
Click to collapse
Thank yoU!
Follow us on Twitter.
If you want, Just e-mail us your real name and your designation! You will be updated with amazing stuff and things

Sticky'd the the thread for you, good luck with Development.
Also for help with kernel development try my good friend Doomlord.
http://forum.xda-developers.com/member.php?u=2784807

->Beta tester
->ROM and Custom ROM tester
and whatever i learn in the process

Kernel Development
This is a general guide for building kernels and modifying them. Device-specific articles for getting the kernel source and setting up the build environment are provided in their respective sections.
Getting the kernel source
The source for your kernel must be made available by your device's manufacturer in order to comply with the GPL.
I dont know where to get it
Setting up the environment
Instructions for setting up the development environment should be included in your source code package. This should tell you the parts of the Android Open Source Project that must be in your working directory in order to allow the kernel to build. It will tell you what version as well. All of the Android Operating System source code is available at [android.git.kernel.org] and most projects are mirrored at [github.com/android]. Both are accessible via your internet browser as well as git.
Modifying the kernel
After the kernel source has been downloaded and your environment is set up, you can begin modifying the kernel. It is recommended (in most cases mandatory) that you run the standard "make xxx_defconfig" for your device before modifying the configuration.
Running
make
or
make -jX [where X is the number of operations to perform at a time]
at this point will make the stock kernel that your phone's official system has. To modify it, we can go two ways: 1) modify the file '.config' in a text editor, or 2) run
make menuconfig
for a graphical interface.
Modifying '.config' with menuconfigEdit
Typing
make menuconfig
will bring up the aforementioned graphical interface for modifying your kernel. Striking the "y" key when an option is selected (with "< >" or "[ ]" before it) will include it in the kernel. Striking the "m" key will add those options with a "< >" as a Linux kernel module (*.ko).
Adding tethering support (netfilter/iptables)Edit
Adding VPN support (TUN)
Adding Linux swap support
Adding ext3/ext4 support
Mofifying '.config' manually
The alternative to using menuconfig is editing '.config' in your preferred text editor. Options that are not to be included in the build are commented out with a "#". Options that are to be included inside the kernel image are uncommented and have the value of "y". Options with the value "m" are to be built into loadable kernel modules.
Adding tethering support (netfilter/iptables)Edit
Adding VPN support (TUN)Edit
Adding Linux swap supportEdit
Adding ext3/ext4 supportEdit
Packaging and flashing your kernelEdit
Additional stepsEdit
You may find that you want to play around with '.config', but don't want to lose your configuration. You can rename your '.config' to whatever you want and give it the suffix "_defconfig" and put it in "arch/arm/configs/" for the next time you wish to use it.
For example: if you had a kernel that had tethering and ReiserFS support, and you wanted to try enabling VPN without breaking your current setup, you could rename your '.config' to 'my_rfs_tethering_defconfig' and move it to "arch/arm/configs/". The next time you wanted to make this kernel you could run
make my_rfs_tethering_defconfig
and have your kernel configuration just as you left it.
Note that this would overwrite your kernel configuration stored in '.config'

omarhasan76 said:
Kernel Development
This is a general guide for building kernels and modifying them. Device-specific articles for getting the kernel source and setting up the build environment are provided in their respective sections.
Getting the kernel source
The source for your kernel must be made available by your device's manufacturer in order to comply with the GPL.
I dont know where to get it
Setting up the environment
Instructions for setting up the development environment should be included in your source code package. This should tell you the parts of the Android Open Source Project that must be in your working directory in order to allow the kernel to build. It will tell you what version as well. All of the Android Operating System source code is available at [android.git.kernel.org] and most projects are mirrored at [github.com/android]. Both are accessible via your internet browser as well as git.
Modifying the kernel
After the kernel source has been downloaded and your environment is set up, you can begin modifying the kernel. It is recommended (in most cases mandatory) that you run the standard "make xxx_defconfig" for your device before modifying the configuration.
Running
make
or
make -jX [where X is the number of operations to perform at a time]
at this point will make the stock kernel that your phone's official system has. To modify it, we can go two ways: 1) modify the file '.config' in a text editor, or 2) run
make menuconfig
for a graphical interface.
Modifying '.config' with menuconfigEdit
Typing
make menuconfig
will bring up the aforementioned graphical interface for modifying your kernel. Striking the "y" key when an option is selected (with "< >" or "[ ]" before it) will include it in the kernel. Striking the "m" key will add those options with a "< >" as a Linux kernel module (*.ko).
Adding tethering support (netfilter/iptables)Edit
Adding VPN support (TUN)
Adding Linux swap support
Adding ext3/ext4 support
Mofifying '.config' manually
The alternative to using menuconfig is editing '.config' in your preferred text editor. Options that are not to be included in the build are commented out with a "#". Options that are to be included inside the kernel image are uncommented and have the value of "y". Options with the value "m" are to be built into loadable kernel modules.
Adding tethering support (netfilter/iptables)Edit
Adding VPN support (TUN)Edit
Adding Linux swap supportEdit
Adding ext3/ext4 supportEdit
Packaging and flashing your kernelEdit
Additional stepsEdit
You may find that you want to play around with '.config', but don't want to lose your configuration. You can rename your '.config' to whatever you want and give it the suffix "_defconfig" and put it in "arch/arm/configs/" for the next time you wish to use it.
For example: if you had a kernel that had tethering and ReiserFS support, and you wanted to try enabling VPN without breaking your current setup, you could rename your '.config' to 'my_rfs_tethering_defconfig' and move it to "arch/arm/configs/". The next time you wanted to make this kernel you could run
make my_rfs_tethering_defconfig
and have your kernel configuration just as you left it.
Note that this would overwrite your kernel configuration stored in '.config'
Click to expand...
Click to collapse
You wrote it or Got it? :/

got it here is a source code some body download and upload it for s5670
https://opensource.samsung.com/reception.do?first=F

omarhasan76 said:
got it here is a source code some body download and upload it for s5670
https://opensource.samsung.com/reception.do?first=F
Click to expand...
Click to collapse
SUre thanks! Checking it out! I have teh SOurce code ALready!

Then upload it or we have to sign up for downloading

omarhasan76 said:
Then upload it or we have to sign up for downloading
Click to expand...
Click to collapse
Oh kay! I will upload it!

I will upload it in an hour! I am downloading the source code of Galaxy i9000! So, I will upload the Fit source code as soon as the i9000 one is over, fine?

as you told to share our researc i fond a step by step tutorial to prepare kernelhttp://forums.androidcentral.com/htc-hero-rooting-roms-hacks/8072-how-build-your-own-kernel-package-source.html

KK
Recently I decided to learn application development and building custom ROMs so i searched online for sources to learn. I found the following playlist uploaded by the user Marakana on youtube :
http://www.youtube.com/watch?v=Mf7z_mrce00&feature=bf_next&list=PLE953C0B85B50AB62&lf=results_main
There is also a book named "Learning Android" written by the same person who uploaded the videos above. I am new to android development and new to Java even,and I found these tutorials very useful ..... I am posting this because this may help someone

I sure does Help! Thank you for your contribution

krishnakanth_590 said:
Recently I decided to learn application development and building custom ROMs so i searched online for sources to learn. I found the following playlist uploaded by the user Marakana on youtube :
http://www.youtube.com/watch?v=Mf7z_mrce00&feature=bf_next&list=PLE953C0B85B50AB62&lf=results_main
There is also a book named "Learning Android" written by the same person who uploaded the videos above. I am new to android development and new to Java even,and I found these tutorials very useful ..... I am posting this because this may help someone
Click to expand...
Click to collapse
Thanks Man!
I am limited to 5 thanks per day..So, I cant thank you! Sorry!

Dude, for all your effort, I can just thank you! My Sister owns this device! It is shocking to see you in here! I thought you would be developing only for SL, S and S2 P:
---------- Post added at 04:29 PM ---------- Previous post was at 04:28 PM ----------
Is Android based on Linux?

Related

Compiling Android + Kernel from Source.

Hi there,
Now, I understand that there's a thread or two and a few web pages directed at compiling Android and its kernel from source.
However, the thread in question is months old, and didn't fully explain the process.
As for the web pages, they are mostly outdated and don't include enough information, not to mention desire specific instructions.
I think that, properly explained, building Android shouldn't be daunting, and everyone should be able to attempt it, if they wanted to.
So, I hope to compose a comprehensive guide on how to do just that.
The problem is that I myself have not been able to put enough instructions together to be able to complete a build. And there is no point digging up old threads.
So, If anyone who knows the ropes (that is, compiling android and a kernel from source) would be willing to lead the way, I'd happily turn it into an easy to understand guide.
Josh.
fllash said:
Hi there,
Now, I understand that there's a thread or two and a few web pages directed at compiling Android and its kernel from source.
However, the thread in question is months old, and didn't fully explain the process.
As for the web pages, they are mostly outdated and don't include enough information, not to mention desire specific instructions.
I think that, properly explained, building Android shouldn't be daunting, and everyone should be able to attempt it, if they wanted to.
So, I hope to compose a comprehensive guide on how to do just that.
The problem is that I myself have not been able to put enough instructions together to be able to complete a build. And there is no point digging up old threads.
So, If anyone who knows the ropes (that is, compiling android and a kernel from source) would be willing to lead the way, I'd happily turn it into an easy to understand guide.
Josh.
Click to expand...
Click to collapse
I followed this guide here and successfully compiled a modified HTC Kernel and I had very little Linux and Android experience.
Obviously instead of cloning the Cyanogen git, you just use the gits you wish to compile
Mekrel said:
I followed this guide here and successfully compiled a modified HTC Kernel and I had very little Linux and Android experience.
Obviously instead of cloning the Cyanogen git, you just use the gits you wish to compile
Click to expand...
Click to collapse
Thanks for the link
Though i don't fully understand the whole 'git' thing. Where do i find them? And how to i know which ones are the ones i want to use?
Josh
EDIT: Also, how do you 'edit' the kernel (i imagine it is somewhat like make menuconfig?). Also:
- Are these sense kernels?
- How do you add modules like OC and UV?
fllash said:
Thanks for the link
Though i don't fully understand the whole 'git' thing. Where do i find them? And how to i know which ones are the ones i want to use?
Josh
EDIT: Also, how do you 'edit' the kernel (i imagine it is somewhat like make menuconfig?). Also:
- Are these sense kernels?
- How do you add modules like OC and UV?
Click to expand...
Click to collapse
A git is a repository for source code, developers upload their source code there and can commit changes. The commit can allow descriptions of what was changed and also details the files changed.
The git system allows other people to add to the source if they have permission, or allows others to read the changes and download the source code.
Git links are usually posted by people who release software, as Android is GPL licensed so people have to release their source code if they're distributing their work.
Editing the kernel, take a look into the git and the commits and it will show you which files were changed and how exactly they were changed. That will give you the best understanding.
UV/OC is done by changing the acpu table in the architectures files and changing the minimum/maximum voltage figures in the board_bravo.c file.
The Cyanogen kernels are not Sense kernels no, it's a modified Google Kernel.
Thanks for the explanation. I followed the guide and built the rom, and it works (always a plus )
Now, the next thing is the kernel. How do I build a kernel with the CM tweaks integrated? I understand that all i would be doing is rebuilding the same one that is already installed, but im doing it to learn.
So, if i synced the GIT, does that include the CyanogenMOD kernel source? If it does, where is it and how do i rebuild it. If not, where do i find it?
Thanks,
Josh.

How to build Android AOSP? (I am getting these errors)

I have successfully built a AOSP ROM I think.
I now have recovery.img, boot.img, userdata.img, system.img
Is there a way of making a n update.zip with these?
This should be moved to Q & A.
Yes, it's about development BUT, it's a question about development and therefore does not belong here.
Pipsqueak approved this message
Come on man do a Google search. There is information for making AOSP ROMs all over the place.
With that said, I strongly recommend heeding this advice:
cyanogen said:
Here's my advice for those looking to make their own Android ROMs.. Stop. Write an app or two first, learn how the system works from a developer standpoint. Learn some Java. Read the developer documentation. Learn how to use Git. Then learn how to build AOSP from source. Read the porting guides, and learn how the build system works (the links below have almost everything you could possibly want to know). Now try to put your new found skills to work on enhancing the platform by writing code or making theme overlays. And share! And put that **** on your resume. There is a *ton* of information out there but any kind of "step-by-step rom cooking guide" is going to be a complete fail- it's too broad of a subject.
Android Developer Guides: http://d.android.com
Working with AOSP source: http://source.android.com
Platform Developer Guide: http://pdk.android.com
Android Gitweb: http://android.git.kernel.org
Git Ready (Git tips and tricks): http://www.gitready.com/
Building CyanogenMod: http://wiki.cyanogenmod.com/index.php/Building_from_source
How Dexopt works and what are those odex files: http://android.git.kernel.org/?p=pl...bcd225e47b2cc7abb2a366112d3aeb45936;hb=master
The PDK site is absolutely vital if you are going to work on custom ROMs. Read every single page. Twice. Some of the info isn't up to date, but you'll get a really good idea about what goes into actually configuring Android to work on a real device.
Click to expand...
Click to collapse

Dont know where to start

Hi every one I dont know where to start i want to make my own rom from source,build it,modify it etc.But i dont know where to start.I know how to build rom from source(learned it from the tutorial on source.android) but i dont know what do those codes mean.i searched on google but cant find an easy tutorial.If i build rom from source how do i make it work on my phone.How do i FIX bugs on my roms,modify it Help please
Check out the chef central section under android. There are a lot of great people working on making development accessible.
For a pure AOSP ROM you are going to have a bit more work, but be rewarded in the end. There is also cyanogenmod and other custom distributions you can build from source and modify.
If you are familiar with C and Java programming you can dig into the actual development more by writing apps or changing source code. If you don't you may want to start on that road. Other wise you will be basically cutting and pasting from everyone else, which doesn't get you any credit.
Themes are also a good place to start. There are lots of good guides in the theme section and people are willing to help if you ask nicely and appropriately.
I have done a bit of this foot work and come to the conclusion, I need to learn programming then come back to source. It is overwhelming to take on an entire operating system in a foreign language, especially when that language has to be perfect to function!
Good luck in your endeavors. Feel free to hit me up for the little knowledge I have!
Sent from my PC36100 using xda premium
But! where to learn
First i want to learn the basics of Rom
are you familiar with Java, C and C++? These are going to be very useful in understanding the "codes" as that is what they are written in. You are also going to have to build AOSP specific for your device, which will require adding your device to the device tree and extracting the necessary drivers and files that are specific to your device. Cyanogenmod has many devices already added to their github and you would simply clone the folder for your device, then build AOSP source and issue make using the device specific folder.
THIS is a helpful tool, and yes it will compile pure AOSP as well.
THIS is also a very helpful tutorial, and you can modify instructions to work for Gingerbread.
If you just want to learn to build and modify the source start with Cyanogenmod build from their source first. You can also build the kernel if you choose but that is a bit more complicated. After you have both of those building without errors then start making changes that you want to see.
The CM Wiki has some good info http://wiki.cyanogenmod.com/wiki/Building_from_source
http://wiki.cyanogenmod.com/wiki/Building_Kernel_from_source

[MOD][4.1.2 or 4.2.1][GPL] OpenPDroid [v1.0, 2013-01-14]

What is OpenPDroid?
OpenPDroid is a set of modifications to the Android framework and libraries which allows fine-tuning of the data which applications are able to retrieve about your device, your account, your messages, and more. Specifically, it is a Privacy service provider (using the PDroid 1.51 interface) forked from CollegeDev's PDroid 2.0, which is itself an extension of Syvat's PDroid.
A word to the wise
I'm just adding this for those who are just looking at OpenPDroid, or are trying to work out how to get involved.
Mateor, wbedard and I are currently in the process of moving repositories etc to a github 'organisation' in order to make it much easier for users to know which are the latest patches, where to report issues, etc. I expect this will be done soon (in the next day or so), and I'll post more information then.
Thanks for your suggestions on ways of managing repositories, patches, etc.
What does it do?
When configured using either FFU5y's PDroid Manager or CollegeDev's PDroid 2.0 App (up to v1.52), OpenPDroid intervenes in API interactions by apps (e.g. when an app attempts to retrieve your location, phone number, or contacts) and provides either real data, empty data, fake data, or random data, depending on the user setting. Unlike apps which actually remove permissions, OpenPDroid does not actually modify the permissions that an app has and so is much less likely to cause the app to crash as a result of data access being denied.
Note that CollegeDev's PDroid 2.0 App does not officially support OpenPDroid, so please don't contact CollegeDev for support if you're having problems with PDroid 2.0 App with OpenPDroid. You can post here, and we may be able to help you.
PDroid Manager does officially support OpenPDroid.
The complete list of data and functions controlled by OpenPDroid can be found at the end of this post, in What (specifically) can I control with OpenPDroid?, but at present it is identical to that offered by PDroid 2.0
For a list of issues which have been identified, please see below the Known Issues.
What makes OpenPDroid different to CollegeDev's PDroid 2.0 or Syvat's PDroid
There are a few differentiators, some technical, and some are philosophical or pragmatic. Both are important
Technical
Two major security issues are fixed, which allow apps to bypass many or all PDroid or PDroid 2.0 settings. (We are in the process of notifying CollegeDev of these issues, and sample code will not be released for at least a week to give him a chance to fix the problems in PDroid 2.0. Fixes have been added to PDroid in auto-patcher, so if you are using PDroid please consider re-patching your ROM).
It is available for Android 4.2.1
Database access threading has been rewritten, as the implementation actually caused bottlenecks and didn't protect from simultaneous read-writes (which is generally the goal of this type of code)
A bug which was causing 'null pointer exceptions' to occur (but not a crash) is fixed.
Other code tidy-up or restructuring which doesn't change functionality
Non-technical
The intention of OpenPDroid is to have a PDroid version which is developed in the open, and which welcomes (although doesn't necessarily always adopt) user input - especially code. This means that the source for OpenPDroid versions in progress is on a public repository (Github at the moment), that changes are put into the Github as they are made, and that other people can contribute code to it. We also hope that by having engaging people more in the development process, there will be more eyes trying to understand the code, and so security-related issues will be identified and address more efficiently.
We also want to make the discussion/decision making processes for what is in and what is out transparent, so that users can understand why some things are included and others are not, and actually influence the decision-making process.
How do I install it?
There are two 'supported' ways to install OpenPDroid:
mateor's auto-patcher (available for OS X, Linux and Windows) is the recommended way if you are not familiar with building from source, and have a supported ROM (CM10, CM10.1, AOKP Jellybean 4.1.2, AOKP Jellybean 4.2.1, AOSP 4.1.2, and AOSP 4.2.1).
Patch and build a ROM from source (see How do I compile a ROM with OpenPDroid). Patches are provided for: CM10, CM10.1, AOKP jb, AOKP jb-mr1, AOSP 4.1.2, AOSP 4.2.1
If you are using a stock ROM, then someone may have implemented OpenPDroid into that ROM - and if they have, they deserve huge credit because it is a difficult and unpleasant job.
Currently we are not aware of any ROMs which include OpenPDroid: if you are aware of one, please notify us and we'll list it here.
There are several reasons your preferred ROM may not currently be supported. First, adding support for a ROM in auto-patcher requires building the ROM with the OpenPDroid patches. We are only able to do this if the source is available for the ROM. (Note: strictly speaking, it is possible to build patches for ROMs where source is not available, as for stock ROMs. However, for non-stock ROMs the rate of change makes this fairly unmaintainable).
Second, there are a great many ROMs out there and it is not possible for us to build for all these ROMs. However, if you are able to patch source and build, then you may be able to build a version of your preferred ROM with OpenPDroid support - and even better, contribute patches for your preferred ROM to auto-patcher. For more details about contributing patches to auto-patcher, please contact Mateor.
How do I get the source?
The source is available as patches, or in complete form, from the OpenPDroid repositories
The source-code patches from the OpenPDroidPatches repository: . Note that there are two branches: 4.2.1 and 4.1.2. These source patches presently work against numerous roms (including CM 10/10.1, AOKP 4.1.2/4.2.1, AOSP 4.1.2/4.2.1, and potentially others)
[*] Complete repositories for the modified sections of the system are likewise located in the [URL=https://github.com/OpenPDroid/]OpenPDroid github. There are several repositories and branches; see the section 'What are all these repos and branches?' for more details about the content of the github.
What is the licence?
PDroid was under under the GPL v3 licence (as shown on the Google Code page), and as a result all derivative works (e.g. OpenPDroid) are likewise under the GPL v3 (or later) licence. Thus, OpenPDroid is under the GPL v3 licence, with no additional special conditions. The only way a PDroid derivative can be under any other licence is if the author contacts Syvat, gets him to agree provide PDroid under another licence, and then the author extends it.
Who's work is it?
PDroid was original developed by Syvat (with contributions and ports from others such as Pastime1971 and Mateor), and then CollegeDev extended it to created PDroid 2.0 (previously called PDroid Addon, then PDroid Extension). PDroid 2.0 has been forked by FFU5y, Mateor and wbedard to create OpenPDroid. Thus, OpenPDroid is the product of the work of many.
The following list includes all the contributors I know of for any of these version of the core (in alphabetical order):
CollegeDev (PDroid 2.0)
FFU5y (OpenPDroid)
Mateor (Porting PDroid to 4.x, porting PDroid 2.0 to 4.1.2, OpenPDroid)
Pastime1971 (Porting PDroid to 4.x, porting PDroid 2.0 to 4.1.2)
Syvat (PDroid)
Wbedard (OpenPDroid)
How do I report issues?
The best way to report an issue is to lodge it in github, although you may want to also post in this thread to let others know that the issue exists (and has been lodged). Please ensure you provide details of the issue you are experiencing (i.e. under what circumstances does it happen, what do you observe, etc) and please include a logcat: see how to get a logcat.
If you don't have a Github account, you can post the issue here (and note that you haven't lodged it in Github) so one of the team can add the issue to Github.
I want to contribute
Great! The whole point of OpenPDroid is to encourage community contribution in the form of ideas, testing, code, etc.
Presently, there isn't really a lot (read: any) documentation about how OpenPDroid works. However, this will be forthcoming, as will an API specification for the Privacy service, which will allow you to write your own management application (like PDroid Manager or the PDroid 2.0 App) if you so desire.
Right now, these are the particular areas of the service which would benefit from developer/code contributions.
Transient caching of privacy settings read from the database, ideally with destruction of cache entries when they are too old or memory conditions are low
Refining the locking code to ensure that reads are not unduly held up by write locks (note: this isn't a problem *yet*, but will be with the inclusion of batch support. More details soon).
Other performance optimisations
Adding good quality code comments - mainly function descriptions, etc
Back-porting of OpenPDroid to pre-4.1.2, so users currently only able to use PDroid can move to OpenPDroid and get the new features.
There are many other things you can work on, including adding whole new options (i.e. security features). If you are planning on creating new security features, however, please lodge the enhancement in github first so it can be discussed. Not every feature which seems like a good idea will be a good fit for OpenPDroid, and it may save some time if a prospective feature can be refined before it is fully coded.
How do I compile a ROM with OpenPDroid
To build a ROM with OpenPDroid, you will need to patch the source code using the provided patches, and then build as you normally would.
To patch the source:
Download the most relevant of the source code patch packages attached to this post
Extract the patch files from the package
On the command line, go to the root of your Android source code: it will contain folders such as 'build', 'frameworks', 'vendor', etc.
Patch the source code with each patch file using the following command
Code:
patch -p1 < <patch_filename>
You can then build your ROM as you would normally.
If you have previously built the ROM in the folder you are using, or you have previously built PDroid 2.0, Syvat's original PDroid, etc it can be helpful to delete the following directories:
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates
out/target/common/obj/JAVA_LIBRARIES/framework2_intermediates
out/target/common/obj/JAVA_LIBRARIES/telephony-common_intermediates
Not all of these directories will exist for all ROMs, so if you try to delete one and it is missing that is not cause for concern.
What (specifically) can I control with OpenPDroid?
Currently, access to the following data and functions can be controlled (note this list exactly matches PDroid 2.0):
Code:
[b]Data access:[/b]
Device ID (IMEI/MEID/ESN)
Phone/voicemail number
Sim Card Serial (ICCID)
Subscriber ID (IMSI)
Source number of incoming calls
Destination number of outgoing calls
Network location
GPS location
Authentication credentials
List of accounts, including identifiers (e.g. gmail e-mail address)
Contact list and details
Call log
Calendar
Read and send SMS
Read and send MMS
Record audio (not phone calls)
Camera
Browser bookmarks and history
System logs
Wifi Info, such as current access point, IP address
Network information (detailed network information such as connection state, IP address, etc)
Android ID (a unique installation ID for your Android installation)
SIM information (your phone operator and country)
Restrict access to iptables command
ICC Access (reading or writing SMS on the SIM or R-UIM)
[b]Actions:[/b]
Make phone calls
Start on Boot (or more accurately, get notified when the boot is complete)
Switch Wifi State (turn wifi on and off, change access points)
Switch network state (turn off or on mobile data)
[b]Other[/b]
Force online state (always tell the app that the device is online: only needed if denying Wifi info and/or Network info)
Known Issues
Thanks to those users who have posted bug details, we now have a list of known issues. I have tried to indicate which will be fixed in the next release, but it is tentative. These issues can also be found (and discussed) on the github issues list
Requests for tower location are always blocked (ETA unknown)
Device lags when GPS is active (ETA: next release; experimental fix in 'devel' branch of 4.2.1-based ROMs: same fix as the below camera lag issue)
Camera lags when OpenPDroid is installed (ETA: next release; experimental fix in 'devel' branch of 4.2.1-based ROMs)
What are all these repos and branches?
In the github account containing the OpenPDroid repositories, there are numerous repositories. Many of these are OpenPdroid related: but not quite all of them. In addition, not all of them are relevant to each ROM.
The main repositories to be aware of are:
platform_frameworks_base
This contains the framework/base/* code, which constitutes the most important guts of OpenPDroid in 4.1.2 and 4.2.1. Other projects sometimes use the name android_frameworks_base for this.
platform_frameworks_opt_telephony
This contains the framework/opt/telephony code, which was split out from framework/base/* in 4.2.1.
platform_build
This contains the build code, mostly makefiles, and is present in 4.1.2 and 4.2.1.
platform_libcore
This contains core operational code outside of the framework (e.g. executing shell tasks, etc).
platform_packages_apps_mms
This contains the code for the Mms app, for 4.1.2 and 4.2.1.
platform_packages_apps_mms
This contains the code for the Mms app, which is modified to affect the ability of apps to send and receive MMS.
platform_packages_apps_videoeditor
This contais the code for the VideoEditor app. The only change here is including 'framework2', which is only required for AOSP 4.1.2.
platform_system_core
This contais a range of important core code, and is modified only for AOSP 4.1.2 to include 'framework2.jar' in the paths included at boot time.
The branches used include two key naming components. First, the rom:
e.g.
cm-10.1* = CyanogenMod 10.1
cm-jellybean* = CyanogenMod 10, cutting edge
cm-jellybean-stable* = CyanogenMod 10, stable release
aokp-jb-mr1* = AOKP 4.2.1-based
aokp-jb* (without the mr1) = AOKP 4.1.2-based
jb-mr0* = AOSP 4.1.2
jb-mr1* = AOSP 4.2.1
pa-jellybean* = ParanoidAndroid (currently buggy)
then the OpenPDroid version:
-openpdroid = the current stable release of OpenPDroid
-openpdroid-devel = the current development line of OpenPDroid
For development, the jb-mr1-release-openpdroid-devel is where I do my initial development, and I think expand it to be on the other -devel branches once I've tested it a bit.
FAQ
How do I include PDroid Manager in the ROM I am building so it can update from Google Play: see here
How do I include PDroid Manager in the ROM I am building so it is compiled during build: see here: TamCore provided a fix for the problem he mentioned, and it has been merged.
How do I build using the bleeding-edge (devel) code: see here, although there is a bit more to it than that. I'll provide extra details when time permits, but the important stuff is in this thread.
I have a question or issue not covered in this post
We'll be adding more to this post in the next day or two. Please be patient =)
Note to mods
I wasn't sure if this belonged in this forum, or in 'Apps and Games' but since it is not trivial to install I figured this was a safer bet.
reserved
Thank you!!!! I'll test
Sent from my LG-P920 using xda app-developers app
Announcement: OpenPDroid build patches, as well as the entire history of the PDroid framework, have been rebuilt and restructured and pushed to our github page. There are build patches for all Android versions from 2.3 to current. You can also take a look at the commit history of the original PDroid framework by svyat, from initial commit to the point where he halted development, 1.32 for gingerbread.
Build patches are here.
PDroid project history is here.
OpenPdroid for Android 4.2.1/4.2.2
These are the current build patches for Android 4.2.1 and 4.2.2 and should generally reflect the current state of the jb-mr1-release-openpdroid branch. The latest commist are not always reflected in the build patches, bleeding-edge development is in the -devel branches.
We realize that the patch/branch situation is not perfect, it is work in progress.
These build patches should work for most roms. As of their creation (1/17/13) they applied cleanly to AOKP, AOSP, Cyanogenmod, ParanoidAndroid and others.
The current best advice as to how to apply/remove them is below. Some easier application methods are being discussed.
To Apply
Code:
cd ~/android/system/build; git checkout -b pdroid; patch -p1 < ~/openpdroid_4.2.1_build.patch
cd ~/android/system/libcore; git checkout -b pdroid; patch -p1 < openpdroid_4.2.1_libcore.patch
cd ~/android/system/packages/apps/Mms; git checkout -b pdroid; patch -p1 < openpdroid_4.2.1_Mms.patch
cd ~/android/system/frameworks/base; git checkout -b pdroid; patch -p1 < openpdroid_4.2.1_frameworks_base.patch
cd ~/android/system/frameworks/opt/telephony; git checkout -b pdroid; patch -p1 < ~/openpdroid_4.2.1_frameworks_opt_telephony.patch
cd ~/android/system; . build/envsetup.sh; brunch <DEVICE_TARGET>
To Remove
Code:
cd ~/android/system
rm -rf out/target/common/obj/JAVA_LIBRARIES/framework_intermediates \
out/host/common/obj/JAVA_LIBRARIES/layoutlib_intermediates \
out/target/common/obj/JAVA_LIBRARIES/telephony-common_intermediates \
out/target/common/obj/APPS/Mms_intermediates
[OR]
Code:
cd ~/android; make clobber
and to reset your source tree**
Code:
cd ~/android/system/build; git checkout . ; git clean -df
cd ~/android/system/libcore; git checkout . ; git clean -df
cd ~/android/system/frameworks/base; git checkout . ; git clean -df
cd ~/android/system/frameworks/opt/telephony; git checkout . ; git clean -df
cd ~/android/system/packages/apps/Mms; git checkout . ; git clean -df
cd ~/android/system; repo abandon pdroid
If OpenPDroid intrigues you, yet the thought of applying all these patches gives you pause, there is a tool that can attempt to patch the framework of an already compiled rom called The Auto-Patcher.
OpenPDroid is an open source fork of the PDroid framework, as written by Svyat and expanded by CollegeDev. We are always looking for contributors, come see us on XDA or submit a pull request.
I'm glad to see there's a more open PDroid project happening. I'm not sure what I'll be able to contribute, but I'll find something to help out with.
Looks like I'm going to have to spend some quality time with the CM10.1 codebase tonight.
Decimalman:
If you look in my github (http://github.com/wsot) you will find there are forks of all the modified parts of Android, and these include forks from cm-10.1 (branches called cm-10.1-openpdroid). You can pull directly from these repositories into your existing repositories if you would prefer to do that, rather than apply patches to the source.
For cm-10.1, the repositories you'll care about are:
* platform_frameworks_base
* platform_libcore
* platform_build
* platform_packages_apps_mms
* platform_opt_telephony_common
Each of these has a branch for cm-10.1-openpdroid with the changes included.
This is great work guys, thanks!
I will test it and if everything works, I will release the next extended CM10/FXP ROM with it.
Is there already a solution for including PDroid Manager and still being able to get updates from the market?
I have one question, did you fix this bug too?
Is there any plan to cooperate with CollegeDev?
It would be a pity if development for PDroid would be fragmented.
M66B said:
I will test it and if everything works, I will release the next extended CM10/FXP ROM with it.
Click to expand...
Click to collapse
Excellent!
M66B said:
Is there already a solution for including PDroid Manager and still being able to get updates from the market?
Click to expand...
Click to collapse
If you include PDroid Manager as-is from the PDroid Manager thread, then it has the same signature as the one in the market. Because of that, it should be able to update from the market.
M66B said:
I have one question, did you fix this bug too?
Click to expand...
Click to collapse
No, thanks for pointing that out. I've updated the source and pushed it to Github with that change. It'll be in the next release, which I don't imagine will be all that far away.
M66B said:
Is there any plan to cooperate with CollegeDev?
It would be a pity if development for PDroid would be fragmented.
Click to expand...
Click to collapse
We have not discussed with CollegeDev any kind of collaboration at this stage. Because both OpenPDroid and PDroid 2.0 core are GPL licensed, I imagine there will be code migration in both directions as things are fixed and improved.
The main reason that OpenPDroid has appeared (rather than us just making a 4.2.1 port of PDroid 2.0) is because long periods of development of PDroid 2.0 went on without the code being available, and so there was really no scope to collaborate.
The reason we are planning to produce an OpenPDroid API document is essentially so that there is a clear (and shared) idea of what can be expected from a minimal PDroid implementation, which both PDroid 2.0 and OpenPDroid cover at this stage. That way even if additional features are added (or someone creates a whole new PDroid implementation from scratch) there can be a shared interface to allow interoperability of management apps (like PDroid Manager).
I think there will be some 'fragmentation', but our hope is that there can be a common API between the versions that users will not have to suffer as a result, and can continue to use their preferred management app, and so forth.
Whether than will happen, I can't say yet.
Thank you! That's what I've been waiting for. I'll integrate this in OpenSensation2 asap
FFU5y said:
If you include PDroid Manager as-is from the PDroid Manager thread, then it has the same signature as the one in the market. Because of that, it should be able to update from the market.
Click to expand...
Click to collapse
Good! Could you make a 'latest' URL available somewhere (github?), so I can integrate it in my build process?
M66B said:
Good! Could you make a 'latest' URL available somewhere (github?), so I can integrate it in my build process?
Click to expand...
Click to collapse
Just added https://github.com/wsot/pdroid_manager_build - the sole purpose of which is now to have the latest PDroid Manager binary.
You will be able to get the file from: https://github.com/wsot/pdroid_manager_build/blob/master/PDroid_Manager_latest.apk?raw=true
FFU5y said:
Just added https://github.com/wsot/pdroid_manager_build - the sole purpose of which is now to have the latest PDroid Manager binary.
You will be able to get the file from: https://github.com/wsot/pdroid_manager_build/blob/master/PDroid_Manager_latest.apk?raw=true
Click to expand...
Click to collapse
Thanks, I will integrate this tonight in my build process and I will document here how I did that, so other developers can maybe do the same.
M66B said:
Thanks, I will integrate this tonight in my build process and I will document here how I did that, so other developers can maybe do the same.
Click to expand...
Click to collapse
That would be excellent! Let us know how it goes.
Thanks for improving pdroid!
Great work :good:
but the Problem I got is that I want to test it on my Nexus 4 with ParanoidAndroid...
when will it be possible ?
because i feel a little bit naked without pdroid and i don´t like to use LBE
seety said:
Thanks for improving pdroid!
Click to expand...
Click to collapse
Cheers. We're happy to be able to expand on the great work done by others.
seety said:
... I want to test it on my Nexus 4 with ParanoidAndroid...
when will it be possible ? ...
Click to expand...
Click to collapse
If you haven't already, I suggest you try to patch with auto_patcher: I believe that quite a lot of the unofficial PA builds will actually patch even though we haven't specifically compiled for them.
While we were preparing for release, the source for ParanoidAndroid was not available, which is why there are not specific patches for it. The source has since been made available, so I expect we will have specific patches for PA integrated into auto_patcher quite soon. Exactly how soon is a bit hard to say, but we are certainly working on it.
Hi
I tried to find PDroid Manager in Play Store but can't find it.
Did a Web install from Play Store & it says my device is not compatible with the app.
I'm on Samsung Galaxy S3 i9300.
Is it really incompatible? If no where can I get the app?
Thanks.
Edit: lol Found the app in OP
Ignore me
Thanks for the good work, I'm test compiling to my build now.
temasek said:
Hi
I tried to find PDroid Manager in Play Store but can't find it.
Did a Web install from Play Store & it says my device is not compatible with the app.
Click to expand...
Click to collapse
Actually, it is a really valid question. I haven't updated the PDroid Manager in Google Play to be marked as supporting 4.2.1 yet. This will be done within the next 24 hrs, and you'll then be able to update from Google Play as new releases come out.
temasek said:
Thanks for the good work, I'm test compiling to my build now.
Click to expand...
Click to collapse
I hope it all goes smoothly, but if not let us know.
FFU5y said:
Cheers. We're happy to be able to expand on the great work done by others.
If you haven't already, I suggest you try to patch with auto_patcher: I believe that quite a lot of the unofficial PA builds will actually patch even though we haven't specifically compiled for them.
While we were preparing for release, the source for ParanoidAndroid was not available, which is why there are not specific patches for it. The source has since been made available, so I expect we will have specific patches for PA integrated into auto_patcher quite soon. Exactly how soon is a bit hard to say, but we are certainly working on it.
Click to expand...
Click to collapse
Hey thanks for the quick answer!
I tired the auto_patcher several times sadly it doesn't work...
maybe these logs are interesting for you:
Try to patch with CM Patches / With AOSP Patches
Perhabs it work if you try to patch this rom, but i am not angry if you got no time for this.
thanks in advance
seety said:
Hey thanks for the quick answer!
I tired the auto_patcher several times sadly it doesn't work...
maybe these logs are interesting for you:
Try to patch with CM Patches / With AOSP Patches
Perhabs it work if you try to patch this rom, but i am not angry if you got no time for this.
thanks in advance
Click to expand...
Click to collapse
Thanks for the details. We will be prepping patches for PA as a high priority so don't worry, you shouldn't be waiting long
I've compiled successful OpenPDroid and booted up fine. So far so good.
I'm letting my users of CM10.1 i9300 Unofficial BUILD to try your wonderful work.
This is my changelog for my CM10.1 Unofficial build V34 for i9300
http://forum.xda-developers.com/showpost.php?p=36697391&postcount=6919
Again, thanks for your good work.

[Question] Kernel Compilation for Modules

First post in the Dev section but this seemed to be the place to talk about kernel compilation and module development.
I have twice now, and am working on my third kernel compilation for the purposes of custom module building for the TF700 and the TF201.
The question I have has to do with the compilation process. Every time I have gone through this with the downloadable Asus Kernel zip I run in to several issues. Either missing references in code or portions that won't compile at all. Is this normal for kernel compilations? I would have thought that it would be fully compilable out of the box ( so to speak). Is it ASUS or just android/Linux in general that works out this way?
Is there a better way to do it? Should I use some generic source with the same version numbers? The current source is just not working at all. I am using an Ubuntu distro. Have the cross compile tools etc... but it just fails. I have already resolved two missing definition references and it just keeps on failing in new places
Hopefully this question doesn't offend developers. I have moved from WinPhone to here and want to better my understanding of how this should all work but need to start with some basics before I can make a meaningful contribution.
Thanks.
P.S... I looked and didn't find a "Compiling android kernels for dummies" book
hx4700 Killer said:
I looked and didn't find a "Compiling android kernels for dummies" book
Click to expand...
Click to collapse
"Dummies" doesn't write a book on kernel dev. Too wrapped up in telling people how to download iTunes.....
Use your "Google". And when you find it, Google XDA University.
There, you will find steps for setting a build environment and kernel and cross arm.
Understand, all kernels are different, but a good place to start. Plus, you learn how to use Google. An added bonus.
Oh... and... as an extra bonus, I will move this to Q & A, as this post has no development work attached. :silly:
MD
My question wasn't HOW to cross compile. I have done it.
My question is WHY are there so many errors that need correcting when compiling the ASUS downloadable kernels and if this is typical of the source from any device or just ASUS?
hx4700 Killer said:
The question I have has to do with the compilation process. Every time I have gone through this with the downloadable Asus Kernel zip I run in to several issues. Either missing references in code or portions that won't compile at all.
Click to expand...
Click to collapse
I had to fix exactly one pair of quotes vs. angle brackets somewhere in the RIL - get the patch pack from my kernel and apply the ril include fix. Then it should compile. If not, you are doing something wrong.
Can you post any links or names of everything ill need to get started on cross compiling a kernel for my tf700t I download the source and get my config.gz and am running a ubuntu distribution but if you could post a link to a tutorial that has detailed instructions that will work for the infinity that would be greatly appreciated thankyou
alexcass4 said:
Can you post any links or names of everything ill need to get started on cross compiling a kernel for my tf700t I download the source and get my config.gz and am running a ubuntu distribution but if you could post a link to a tutorial that has detailed instructions that will work for the infinity that would be greatly appreciated thankyou
Click to expand...
Click to collapse
Step 1: Get a suitable ARM toolchain. I can't help you here with Ubuntu because I'm using Gentoo and their crossdev tool (http://www.gentoo.org/proj/en/base/embedded/handbook/?part=1).
Step 2: Cross-compiling the kernel works just as for native kernels (make menuconfig, make), but you have to pass parameters to each make, e.g. make ARCH="arm" CROSS_COMPILE="arm-gentoo-linux-gnueabi-" (or whatever your toolchain is called)
Step 3: For the TF700-specific blob stuff I have written a detailed tutorial here: http://forum.xda-developers.com/showpost.php?p=36925180&postcount=4

Categories

Resources