[MOD][4.1.2 or 4.2.1][GPL] OpenPDroid [v1.0, 2013-01-14] - Android Software/Hacking General [Developers Only]

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.

Related

Newbie dev questions

Hi,
I'm going to start building my own ROMs. I'd like to start from only official sources and drivers. Then add my own improvements and features. Here are a few questions before I can start:
1) I know there is a tool in AOSP to extract proprietary drivers. Can I extract Froyo drivers from G2x and use it with Gingerbread AOSP?
2) I see many users reporting that "XXX doesn't work" (XXX is things like radio, GPS, Wi-Fi) with custom ROMs. Are those issues caused by incompatibility between GB AOSP and Froyo drivers? Or caused by patches done by ROM makers?
3) Does Google provide official sources for Google Apps? Or official binaries to bundle with a ROM?
Thanks!
rhinology said:
Hi,
I'm going to start building my own ROMs. I'd like to start from only official sources and drivers. Then add my own improvements and features. Here are a few questions before I can start:
1) I know there is a tool in AOSP to extract proprietary drivers. Can I extract Froyo drivers from G2x and use it with Gingerbread AOSP?
2) I see many users reporting that "XXX doesn't work" (XXX is things like radio, GPS, Wi-Fi) with custom ROMs. Are those issues caused by incompatibility between GB AOSP and Froyo drivers? Or caused by patches done by ROM makers?
3) Does Google provide official sources for Google Apps? Or official binaries to bundle with a ROM?
Thanks!
Click to expand...
Click to collapse
First off this is a Q&A question, not a dev section issue...
1) Not really...
2) These are typically kernel issues...
3) yes they do, check the CM7 Nightly thread
rhinology said:
Hi,
I'm going to start building my own ROMs. I'd like to start from only official sources and drivers. Then add my own improvements and features. Here are a few questions before I can start:
1) I know there is a tool in AOSP to extract proprietary drivers. Can I extract Froyo drivers from G2x and use it with Gingerbread AOSP?
2) I see many users reporting that "XXX doesn't work" (XXX is things like radio, GPS, Wi-Fi) with custom ROMs. Are those issues caused by incompatibility between GB AOSP and Froyo drivers? Or caused by patches done by ROM makers?
3) Does Google provide official sources for Google Apps? Or official binaries to bundle with a ROM?
Thanks!
Click to expand...
Click to collapse
1. In general for Linux, there are 2 types of drivers, kernel space drivers and user space drivers. The Kernel space drivers are available via kernel source dump from manufacturers, however, the user space drivers are often proprietary so they are released as binary only. In case for G2x, the current official release from LG is Froyo, so often time, CM7 is hacked to work with Froyo user space drivers until an official GB version is released.
2. Because of #1, often times, CM7 team has to work around the limitations they have by writing new code. The new code is not tested as thoroughly as major manufacturers QA department (a whole team of professional testers) so CM team release their nightly builds to serve as open public beta to hammer out bugs for the newly released workarounds/patches. It's amazing what CM team has done without access to all the necessary files and sources.
3. Google Apps are proprietary Google software, so no source code will be available to them (until Google decides to open source their apps, which is 100% their right and decision). Because Google holds the rights to their software, they also have a say in the distribution of their software. CM originally bundled Google Apps with their CM releases, but Google decided not to allow a major independent team to bundle their software and sent CM a legal letter asking them to stop. Ever since, CM team decided to release just a bare AOSP portion without Google Apps. I have followed CM's example and also does NOT bundle Google Apps with my Hybrid AOSP ROM.
Thanks a lot!
Sounds like I'd better build a Froyo ROM first.
For #3, I learned that I can download Google Apps binaries provided by CM team. My question is: where did CM team get the binareis?
faux123 said:
1. In general for Linux, there are 2 types of drivers, kernel space drivers and user space drivers. The Kernel space drivers are available via kernel source dump from manufacturers, however, the user space drivers are often proprietary so they are released as binary only. In case for G2x, the current official release from LG is Froyo, so often time, CM7 is hacked to work with Froyo user space drivers until an official GB version is released.
2. Because of #1, often times, CM7 team has to work around the limitations they have by writing new code. The new code is not tested as thoroughly as major manufacturers QA department (a whole team of professional testers) so CM team release their nightly builds to serve as open public beta to hammer out bugs for the newly released workarounds/patches. It's amazing what CM team has done without access to all the necessary files and sources.
3. Google Apps are proprietary Google software, so no source code will be available to them (until Google decides to open source their apps, which is 100% their right and decision). Because Google holds the rights to their software, they also have a say in the distribution of their software. CM originally bundled Google Apps with their CM releases, but Google decided not to allow a major independent team to bundle their software and sent CM a legal letter asking them to stop. Ever since, CM team decided to release just a bare AOSP portion without Google Apps. I have followed CM's example and also does NOT bundle Google Apps with my Hybrid AOSP ROM.
Click to expand...
Click to collapse
rhinology said:
Hi,
I'm going to start building my own ROMs. I'd like to start from only official sources and drivers. Then add my own improvements and features. Here are a few questions before I can start:
1) I know there is a tool in AOSP to extract proprietary drivers. Can I extract Froyo drivers from G2x and use it with Gingerbread AOSP?
2) I see many users reporting that "XXX doesn't work" (XXX is things like radio, GPS, Wi-Fi) with custom ROMs. Are those issues caused by incompatibility between GB AOSP and Froyo drivers? Or caused by patches done by ROM makers?
3) Does Google provide official sources for Google Apps? Or official binaries to bundle with a ROM?
Thanks!
Click to expand...
Click to collapse
I've written a good guide for building cm7. (link in my signature)
Sent from my LG-P999 using XDA Premium App

[CALLING EVERY MEMBER] Fit Group DEV. Learning

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?

Renesas Emma EV2 Open Source Project

Hi,
Altough this is just the skeleton of it, let me share what I've set up until now.
I've also started a dedicated Google group here: https://groups.google.com/forum/?hl=en&fromgroups#!members/renesas-emev-osp
Anyone interested in contributing to develpment, plesae join!
1) Android
https://github.com/ffxx68/Renesas-device_emev
This is the entry-point to the GitHub repositories where I would put all the modification to the AOSP code which are specific to the Renesas EMEV for our Open Source Project.
Have a look at the README for further details and follow the progress, or open discussions, on our Google group.
2) Kernel
https://github.com/ffxx68/RenesasEV2-BSPGB-Kernel
This is the public GitHub repository for the 2.6.35.7 Kernel source code. It is customized to emxx code and it includes for the moment only the LCD patch that is necessary for the most common tablet (the kernel base code is aimed at the development board instead).
Same as above, anyone can contribute directly here.
3) Bootloader
https://github.com/ffxx68/RenesasEV2-bootloader
This is the public GitHub repository for the bootloader source code. It includes a patch for the 4 DDR tablet models.
I don't expect this to be changed much, but anyone can contribute directly pushing new files over here too.
4) Packaging
Some more details about how to wrap-up a fresh build and make a firmware for the tablet are found in the README mentieod above.
I've managed to boot Android from an SD card (see here: https://github.com/ffxx68/Renesas-BootSD) and I think a similar approach should be followed, at least for initial testing.
Kind of late to the party, but I'm really interested in this project... I applied to the Google Group, but I notice that the EV2 AOSP page you listed is gone... is there a specific reason for this? I would really love to contribute to this.
Hi, and welcome aboard!
I have edited a couple links above, which have changed a bit since then.
Thanks
I'm facing a problem with the touchscreen driver, which I have filed in the group list as well:
https://groups.google.com/forum/#!topic/renesas-emev-osp/smcwddwvNDo
(answer over there, if possible).
I can't understand why the driver for the touchscreen (found in drivers/input/touchscreen/pixcir_i2c_ts.c) is not loaded during the kernel init stages.
The touchkeys driver (ekt2201) is very similar in code structure and it's loaded as expected, while the _probe function of the PixCir is never called. This is the fragment from the dmesg kernel log:
...
<4>ekt2201_init
<4>ekt2201_i2c_ts_probe
<6>input: ekt2201 as /devices/i2c-0/0-0010/input/input0
<4>ekt2201:i2c_add_driver 0
<4>emxx_tsixcir_i2c_init
<4>emxx_tsixcir:i2c_add_driver 0
...
Note as the input device is created for the ekt2201 as the _probe is called, while the same doesn't happen for the pixcir.
Anyone with a clue?
thanks
Hi,
if anyone's interested in testing an experimental, pre-alpha version of the Open Source GB and Kernel build, leave a message here:
https://groups.google.com/forum/?hl=en&fromgroups#!topic/renesas-emev-osp/Mmd8r-YMaNo
Porting to JB has started: https://groups.google.com/forum/?fromgroups=#!topic/renesas-emev-osp/XSdLmPgD9Og

[ROM][UNOFFICIAL][ALPHA][s2ve/p] Cyanogenmod 12.0

CyanogenMod is a free, community built, aftermarket firmware distribution of Android 5.0 (Lollipop), which is designed to increase performance and reliability over stock Android for your device.
Code:
#include
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
CyanogenMod is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. CyanogenMod does still include various hardware-specific code, which is also slowly being open-sourced anyway.
All the source code for CyanogenMod is available in the CyanogenMod Github repo.
Device-specific source code for the Samsung Galaxy S2 Plus are available from https://github.com/luk1337/android_device_samsung_s2vep,
https://github.com/luk1337/android_device_samsung_s2ve and https://github.com/luk1337/android_kernel_samsung_galaxys2plus-common.
Compatibilitiy Patches: https://github.com/luk1337/build_tools/tree/cm12
(Please give credit if you use them in your ROM and if you fix something, please submit patches.)
Do not submit bug on CyanogenMod issue tracker
Downloads
ROM: https://s.basketbuild.com/devs/LuK1337/CM12
Google Apps: For now, find your own package
What works?
Wi-Fi
Bluetooth
RIL (Calls, SMS, Mobile Data)
Sensors (Accelerometer, Compass, Light, Proximity, etc.)
Camera (photo)
Video playback
Audio (playback & recording)
GPS
Everything else not listed under "known issues"
Known Issues
screenrecord does not work
FM Radio does not work
Sometimes wake up causes music stutter
Video recording does not work
.wav playback does not work (.mp3 works fine)
SELinux is in permissive mode
Wi-Fi HAL (i.e. Scanning MAC Address Randomization) not implemented
Sim Tool Kit (STK) not fully working
Video in YouTube app sometimes freeze
Bluetooth headset isn't working
Does not work on 4.1 stock ROM's bootloader, please upgrade to 4.2 before flashing
Installation
Make a backup!
If you were on CM 10.1 or a stock ROM prior to 4.2, upgrade to 4.2.
Install ClockworkMod recovery with SELinux support
Reboot into recovery
Wipe data if coming from stock or another non-CM ROM (You may get a "staus 7" error if you fail to wipe.)
Install the ROM
Optionally install the Google Apps Addon
To upgrade to a newer build, simply flash the zip. There's no need for data wipe or flashing Google Apps again.
Changelog
20141116: Initial release
FAQ
Can you include Feature X into your ROM?
No. This ROM will have CyanogenMod's feature set.
Can you include S-Note/S-Planner/MultiWindow/Insert Samsung App Here?
No. This is an AOSP ROM and cannot have TouchWiz applications.
Can you include call recording?
No. CyanogenMod does not include call recording to avoid potential legal issues.
Can you add Feature X to the stock ROM?
No. I don't work on stock ROMs.
What kernel does this ROM use?
A slightly modified version of the stock kernel, the source code is linked above.
I've heard that Broadcom doesn't release source, how can you make this ROM?
Contrary to the popular belief, userspace driver source code is not always required to make an AOSP-based ROM as long as the proprietary binaries shipped with the device does not modify the API too heavily (or is from a very different version of Android). Instead of modifying the source code of the drivers, the Android source code was adapted to be able to use the proprietary binaries.
Can I use your ROM as a base?
http://source.android.com/source/licenses.html
Most of Android/CyanogenMod is licensed under the Apache License with other small parts licensed under other open-source licenses. Which means that you may modify and redistribute without asking for permission as long as the proper credits is given and it is not misappropriated as being the official CyanogenMod. (In other words, you must say that it is based on pawitp's unofficial CyanogenMod, but is not related to CyanogenMod in any other way.)
Can contacts be saved to phone/SIM?
No. It is not supported in AOSP-based ROMs.
Can I send files over Wi-Fi Direct?
Yes, but you must use third-party applications. The implementation provided on Samsung ROMs is not an open standard. AOSP/CM does not provide a native way to send files over Wi-Fi Direct.
Can I mirror your ROM?
You're free to, but I will not list it in this post.
Is overclock (OC) available?
1.3 GHz OC is available in Settings -> Performance -> Processor (enable developer mode first). Higher frequencies are not enabled since benchmark does not show additional benefit.
Will feature X from a previous version of CM be implemented?
I don't know, probably will be, eventually. I don't really involve myself in the feature-set side of CM.
Will you add OTA support?
No.
I cannot add APNs
Make sure you set the correct MCC/MNC code, the APN will not appear otherwise. Also make sure to use menu -> save (back button means discard).
Reporting Bugs
You are allowed to report bugs only in this thread.
Grab a logcat right after the problem has occurred. (Please include at least a few pages of the log, not just the last few lines, unless you know what you're doing.)
If it is a random reboot, grab /proc/last_kmsg. (Do not bother getting a logcat unless you can get it just before the reboot. A logcat after a reboot is useless)
If the problem disappears after running "setenforce 0" from a root shell, grab /data/misc/audit/audit.log
Remember to provide as much info as possible. The more info you provide, the more likely that the bug will be solved. Please also do not report known issues. The following is a useful format to follow.
Code:
What is your--
Phone model (s2ve or s2vep):
Radio (baseband):
CM version:
CM Download url:
Gapps version:
Did you--
wipe:
restore with titanium backup:
reboot after having the issue:
Are you using--
a task killer:
a non-stock kernel:
CMSettings/Performance settings (other than stock):
ART Runtime:
other modifications:
Provide any additional information (observations/frequency of problem/last version it worked on/etc) as needed:
Thanks
- The CyanogenMod team for providing a great ROM. Without all the compatibility work which went into it, this ROM would've been much harder to make
- CoolDevelopment, pawitp and other s2ve/p and i9082 devs
XDA:DevDB Information
[ROM][UNOFFICIAL][ALPHA][s2ve/p] Cyanogenmod 12.0, ROM for the Samsung Galaxy S II Plus
Contributors
LuK1337
ROM OS Version: 5.0.x Lollipop
ROM Kernel: Linux 3.0.x
Version Information
Status: Alpha
Created 2014-11-16
Last Updated 2014-11-16
NOTE: I'm still building s2ve, I'll upload it later.
Can't wait
can't wait for test! so excited
Awesome
PLease dont forget the Non NFC edition.. keep up the good work
essuraj said:
PLease dont forget the Non NFC edition.. keep up the good work
Click to expand...
Click to collapse
you can easily flash P-recovery and enjoy the dev's work
Hy, please upload today a download link for CM12, i really want to try it as faster as i can. :fingers-crossed::fingers-crossed::fingers-crossed:
Sheldd said:
Hy, please upload today a download link for CM12, i really want to try it as faster as i can. :fingers-crossed::fingers-crossed::fingers-crossed:
Click to expand...
Click to collapse
It will be uploaded today,just be patient!
Sheldd said:
Hy, please upload today a download link for CM12, i really want to try it as faster as i can. :fingers-crossed::fingers-crossed::fingers-crossed:
Click to expand...
Click to collapse
Buy me SSD or better PC then I would build it faster.
LuK1337 said:
Buy me SSD or better PC then I would build it faster.
Click to expand...
Click to collapse
Oh, sorry, i don't want to be ungrateful,but i'm really excited and i want to try it...:angel:
LuK1337 said:
Buy me SSD or better PC then I would build it faster.
Click to expand...
Click to collapse
First of all: thank you so much for this amazing work! I can't wait to try!
How long do you think will it take?
Because for me the day ends in 3-4 hours
So i can't add contacts to my phone or sim ?
About Gapps?
Thank you very much : LuK1337!
Does somebody know what Gapps we must use in this rom?
I think we can use this:
https://s.basketbuild.com/filedl/gapps?dl=gapps-lp-20141109-signed.zip
Newku said:
So i can't add contacts to my phone or sim ?
Click to expand...
Click to collapse
You can save contacts on Phone but not on sim.
NW2000 said:
I think we can use this:
https://s.basketbuild.com/filedl/gapps?dl=gapps-lp-20141109-signed.zip
Click to expand...
Click to collapse
Ok. Thank you!
LuK1337 said:
You can save contacts on Phone but not on sim.
Click to expand...
Click to collapse
thank you very much luk
Can We flash with normal cwm, exept 6.0.5.1?
it looks pretty good.
i tended to think that we wouldn't get that soon cm12, but luk is the best dev,also,grand duos devs.
we wait for ur build uploaded.
thank you man.
LuK1337 said:
[*]Install ClockworkMod recovery with SELinux support
[*]
Click to expand...
Click to collapse
Does it work with PhilzTouch by hacky?
I can't wait :victory: :victory:

[ROM][7.1.2_r24][UNOFFICIAL][grouper] LineageOS 14.1 for Nexus 7 2012

[ROM][7.1.2_r8][UNOFFICIAL] LineageOS 14.1 for Nexus 7 2012 (grouper)
*** Disclamer
By downloading and installing this ROM you agree that you do so at
your own risk, and that you understand that it probably voids your
warranty. (But does anyone still have an active warranty on this 2012
device?)
Introduction
@AndDiSa's AOSP 7 builds look pretty nice, but I needed something that seamlessly upgrades from CM13. @GtrCraft who provided our CM13 builds has moved on to other devices, so we need a new CM maintainer. I may not be the right person for that job... but I can at least share the build I made for myself. Perhaps someone will be motivated to join the fun or even take over.
[Images on screenshots tab.]
Installation instructions
Back up your data and previous ROM with TWRP 3.0.2 or 3.1.0.
Download from link below.
Wipe system, cache, dalvik.
Also wipe data unless you are coming from CM13.
Install the ROM.
Optionally add opengapps-pico.
With default settings it will give an error about insufficient space. To avoid that, first copy this gapps-config-grouper.txt file, perhaps edit it to your taste (instructions here), then copy to the device in the same directory as the opengapps zip. The opengapps updater-script will look for it there when you install opengapps.​
Reboot.
WAIT for system to settle before you decide it is slow. Some of the app optimization which used to happen during initial boot now seems to happen in the background. When it's finished, responsiveness will improve.​
If you use ext4, run fstrim.
There are ways to automate this, but I just run this app after each ROM upgrade, plus roughly once a week, after large batches of app updates from Play Store, or whenever my tablet starts to feel sluggish.​
Download
lineage-14.1-20171122-UNOFFICIAL-aaopt-grouper.zip (AndroidFileHost)
Credits / Thanks
Google / AOSP
CyanogenMod LineageOS
@AndDiSa for AOSP 7.1 -- I use his kernel tree directly, and many of his device tree mods
@GtrCraft for the CM13 tree upon which mine is based
XDA:DevDB Information
Unofficial LineageOS 14.1 for Nexus 7, ROM for the Nexus 7
Contributors
aaopt, AndDiSa,GtrCraft
Source Code: https://github.com/aperomsik/lineageos_android_device_asus_grouper/
ROM OS Version: 7.x Nougat
ROM Kernel: Linux 3.1.x
Based On: LineageOS
Version Information
Status: Testing
Created 2017-01-02
Last Updated 2017-12-19
Changelog
Nearly all builds include LineageOS sync -- only mentioned specifically when it was the main point of the build.
(TESTING)20181209 (AndroidFileHost)
@AndDiSa's kernel and device tweaks since my last build and LineageOS sync.
(TESTING)20181104 (AndroidFileHost)
@AndDiSa's kernel and device tweaks since my last build and LineageOS sync.
(TESTING)20180708 (AndroidFileHost)
Added @AndDiSa's kernel and device tweaks since my last build and LineageOS sync with June patches.
(TESTING)20180121 (AndroidFileHost)
@AndDiSa's January performance tweaks. LineageOS sync with January patches.
older entries:
20171122 (AndroidFileHost)
LineageOS sync with November patches.
(TESTING) 20171112 (AndroidFileHost)
@AndDiSa's latest kernel and device tweaks.
(TESTING) 20171020 (AndroidFileHost)
LineageOS sync including October patches and KRAKN fix.
Kernel updates and latest device performance tweaks from @AndDiSa .
(TESTING) 20170811 (AndroidFileHost)
LineageOS sync including August patches.
20170717 (AndroidFileHost)
LineageOS sync brings us to 7.1.2r24 ; perf tweak from @AndDiSa
20170702 (AndroidFileHost)
LineageOS sync
20170609 (AndroidFileHost)
LineageOS sync including June patches; Following @AndDiSa's lead to intelliactive governor, for hopefully improved battery life with minimal performance impact.
20170507 (AndroidFileHost)
Following @AndDiSa's lead to pick up a better fix for RenderThread issues from UnlegacyAndroid.
20170503 (AndroidFileHost)
LineageOS sync brings us to 7.1.2_r8
20170423 (AndroidFileHost)
LineageOS sync brings us to 7.1.2_r2
Updated with @AndDiSa's kernel and device tree updates, including the RenderThread app crash fix he got from @Ziyann.
20170315 (XDA)
Updated with @AndDiSa's kernel and device tree updates.
20170308 (AndroidFileHost)
LineageOS sync includes March security patches. For unknown reasons this build seems to be somewhat crashy.
20170226 (AndroidFileHost)
LineageOS sync includes Feb security patches
20170212 (AndroidFileHost)
AndDiSa's kernel updates
20170129 (AndroidFileHost)
AndDiSa's kernel updates
20170122 (AndroidFileHost)
LineageOS sync, including boot animation and settings updates and various other fixes here and there.
20170108 (AndroidFileHost)
Switch to Snap camera, at least for now.
20170101 (AndroidFileHost)
First LineageOS 14.1 build for grouper.
Unofficial CM 14.1 (XDA)
Previous history in my CM 14.1 thread.
More detailed history: my device tree, AndDiSa's kernel, LineageOS .
Try this at home
(a.k.a. Build instructions)
There are plenty of guides to building CM. Those guides are still relevant with the possible exceptions of their URLs. Assuming you have read enough such guides to have the general idea of how to build a ROM from source, here is one way you can set up your source tree to mimic mine.
In a clean directory, perhaps ~/android/lineageos-14.1/ :
Code:
repo init -u git://github.com/LineageOS/android.git -b cm-14.1
git clone https://github.com/aperomsik/lineageos_local_manifests.git .repo/local_manifests -b cm-14.1
repo sync -c
. build/envsetup.sh
brunch grouper
fantastic Job! We now have a new ROM
aaopt said:
(a.k.a. Build instructions)
There are plenty of guides to building CM. Those guides are still relevant with the possible exceptions of their URLs. Assuming you have read enough such guides to have the general idea of how to build a ROM from source, here is one way you can set up your source tree to mimic mine.
In a clean directory, perhaps ~/android/lineageos-14.1/ :
Code:
repo init -u git://github.com/LineageOS/android.git -b cm-14.1
git clone [email protected]:aperomsik/lineageos_local_manifests.git .repo/local_manifests -b cm-14.1
repo sync -c
. build/envsetup.sh
brunch grouper
Click to expand...
Click to collapse
Recent version of repo doesn't seem to explicitly support '-c' parameter any more to reduce the download size (mine have been around 30GB). Thanks for these instructions; still, I would like to know how you integrated the required changes for 14.1 grouper.
nixuser1980 said:
Recent version of repo doesn't seem to explicitly support '-c' parameter any more to reduce the download size (mine have been around 30GB). Thanks for these instructions; still, I would like to know how you integrated the required changes for 14.1 grouper.
Click to expand...
Click to collapse
It's all in the local manifests.
Sent from my Nexus 7 using Tapatalk
Thank you aaopt for keeping our old Nexus 7 alive !
Can someone tell me the perfect settings for Kernel Adiutor to get the maximum performances ? Even if the battery life is shorten.
Thanx in advance
aaopt said:
It's all in the local manifests.
Sent from my Nexus 7 using Tapatalk
Click to expand...
Click to collapse
Just took a look at those. I have been using TheMuppets at github for the proprietary components, having needed to patch the nvidia components due to an old GNU-ism (gcc extension that was eventually formalised).
Saw that you got the broadcom et al components from your "ads" git repo and wanted to know if there was any reason not to use TheMuppets (or if, indeed, you sourced them from there and modified them), that I can learn from.
Thanks again.
aaopt said:
(a.k.a. Build instructions)
There are plenty of guides to building CM. Those guides are still relevant with the possible exceptions of their URLs. Assuming you have read enough such guides to have the general idea of how to build a ROM from source, here is one way you can set up your source tree to mimic mine.
In a clean directory, perhaps ~/android/lineageos-14.1/ :
Code:
repo init -u git://github.com/LineageOS/android.git -b cm-14.1
git clone [email protected]:aperomsik/lineageos_local_manifests.git .repo/local_manifests -b cm-14.1
repo sync -c
. build/envsetup.sh
brunch grouper
Click to expand...
Click to collapse
Can confirm that this works - now I just need to find the magic in the code. Also, how did kernel/timeconst.pl not need to be replaced with timeconst.bc and kernel/Makefile not need to be amended to use bc instead of perl? I was getting a compile error because of this in the grouper kernel tree.
nixuser1980 said:
Just took a look at those. I have been using TheMuppets at github for the proprietary components, having needed to patch the nvidia components due to an old GNU-ism (gcc extension that was eventually formalised).
Saw that you got the broadcom et al components from your "ads" git repo and wanted to know if there was any reason not to use TheMuppets (or if, indeed, you sourced them from there and modified them), that I can learn from.
Thanks again.
Click to expand...
Click to collapse
The "ads" git repos referenced in my manifests are AndDiSa's. My repos are labelled "aaopt".
As stated in OP my goal with this ROM is to continue GtrCraft's CM13 work now that he has moved on to other devices. He had been following AndDiSa's proprietary components from AOSP so I just continued that way. In fact I took it a step further by using AndDiSa's kernel directly, not (yet?) seeing a clear reason to maintain my own. I just want to do the minimum amount of work needed to keep somewhat up to date with upstream LineageOS and take advantage of AndDiSa's device-specific performance improvements from the AOSP side.
aaopt said:
The "ads" git repos referenced in my manifests are AndDiSa's. My repos are labelled "aaopt".
As stated in OP my goal with this ROM is to continue GtrCraft's CM13 work now that he has moved on to other devices. He had been following AndDiSa's proprietary components from AOSP so I just continued that way. In fact I took it a step further by using AndDiSa's kernel directly, not (yet?) seeing a clear reason to maintain my own. I just want to do the minimum amount of work needed to keep somewhat up to date with upstream LineageOS and take advantage of AndDiSa's device-specific performance improvements from the AOSP side.
Click to expand...
Click to collapse
Oops. I got that wrong. Anyway, thanks for your work and I learned a few things from it.
Just flashed it, will see how it goes.
For now when the only bug
When i take picture with camera, it mirrors it and makes it look pixelish
Great! Happy to see our grouper still updated, thanks
Inviato dal mio Nexus 7 utilizzando Tapatalk
Hey there! Will there be a ROM for Tilapia? I'd be nice to try it on it. I'm not a programmer but as I noticed building for Grouper and Tilapia is just a little different.
I think You can just flash the grouper recovery and flash the ROM.
From one day of full usage:
- The charging is a bit slow, i don't know if it's a big battery or the power flow is low
- There is lagging, like the ROM isn't optimized yet, slowdowns, applications are usually giving me stopped working etc...
- The camera bug i mentioned above, when u take picture it looks pixelated
I'll do more reviews like this if the updates keep coming
Cannot use the video option in the camera app.
The camera app force closes.
CrazyLegenD said:
From one day of full usage:
- The charging is a bit slow, i don't know if it's a big battery or the power flow is low
- There is lagging, like the ROM isn't optimized yet, slowdowns, applications are usually giving me stopped working etc...
- The camera bug i mentioned above, when u take picture it looks pixelated
I'll do more reviews like this if the updates keep coming
Click to expand...
Click to collapse
Here is a build I am testing, in which all I did was sync sources with upstream. It feels somewhat less laggy to me... not sure if it is due to Lineage changes, 7.1.1_r9, or the fact that I used newer opengapps.
Camera issue is interesting -- I have a shot in my camera folder from 11-29 which looks better. Current shots claim to have the same resolution but file size is much smaller, which suggests the wrong jpeg quality setting was used. Something to dig for.
Regarding charging, are you saying it charges more slowly with this ROM than with others? Charging speed varies widely for me but recently it hasn't been that bad. If your hardware is behaving the expected charging time from nearly empty is supposed to be 3-4 hours. Over time the connector gets loose and then charging can take much longer. There are plenty of charging-related threads around here including some which say to replace the USB port and one which says take out the existing port and put it back in. Tried that on the worst of my family's tablets and it helped for a day or so but then went back to old slow charging speed.
Why is the "Mobile network signal" in orange in a WiFi tablet ?
eNVy said:
Why is the "Mobile network signal" in orange in a WiFi tablet ?
Click to expand...
Click to collapse
How did you get to that screen?

Categories

Resources