[App][Root][6.0+] Kernel Profiler - Android Apps and Games

Please Note: Due to personnel reasons, I'm not updating this thread anymore. For those who wish to stay updated with the development of this project are requested to reach us on GitHub or Telegram. Thank you very much for the understanding.
​/* Introduction */
Kernel Profiler is a free and open-sourced profile based kernel management utility, which helps kernel developers to provide predefined profiles to their users.
/* DISCLAIMER */
Code:
Please use this app at your own risk.
I am not responsible for any damage to your device.
Everything you are doing on your device is at your own risk.
/* Requirements */
ROOT ACCESS
Support from Kernel Developer (if your favorite kernel developer is not willing to support this app, please do not bother to install).
/* Features */
Switch between profiles (no limit) provided by the kernel developer in one click (for users).
Apply default profile, pre-defined by the developer or assigned by the user, on boot.
Completely (almost) customize the interface of app in accordance with the kernel (for developers).
Easily create profiles and necessary configuration file within the app (for developers).
/* Downloads */
/* How to add support in kernel */
Kernel Profiler expects a configuration file (kernelprofiler.json) and one or more profiles (basically shell scripts) in certain specific structure placed inside "/data/kernel_profiler".
/* Structure of kernelprofiler.json */
"kernelprofiler.json" necessarily contains a title string as well as a number of optional strings to properly identify a specific kernel. An example "kernelprofiler.json" can be found here.
"title": "Title of your kernel". The "title" should be a string from your kernel's "uname -a". It will be later matched on your user's devices, and also be displayed as app's main title. Please note that it is the only way of app to distinguish a supported kernel and should be done carefully.
"description": "A short description (in one line) about your kernel". Please note that the "description" string will be also displayed in app along with the main title.
"default": "The exact name of the default profile including ".sh" extension".
"developer": "The identity (name, pet name or anything similar) of the developer". Please note that the "developer" string will be displayed in app along with a © symbol (bottom part of app).
"support": "A link to the discussion page or a support group of your kernel". Please note that the "support" string will be linked to the app's settings menu.
"donations": "A link to send donations to the developer". Please note that the "donations" string will also be linked to the app's settings menu.
/* Structure of profiles */
Kernel Profiler considers any properly formatted shell script as a profile. Optionally, the developer may add a line starting with "# Description=" somewhere in the profile so that the app will recognize and display it as the profile description. An example profile can be found here.
/* How to integrate into an Anykernel zip */
Adding the following lines into anykernel.sh after placing all the support files, such as a properly formatted kernelprofiler.json and one or more profile scripts, into ramdisk/kernel_profiler, allow you to inject Kernel Profiler support upon kernel installation.
Code:
if [ -e $ramdisk/kernel_profiler ]; then
# Inject Kernel Profiler support
if [ -e /data/kernel_profiler ]; then
# Remove old files
rm -rf /data/kernel_profiler/*
mv $ramdisk/kernel_profiler/* /data/kernel_profiler/
else
mv ramdisk/kernel_profiler/ /data/
fi
fi
The following commit shall be used for further reference
AnyKernel: Introduce Kernel Profiler support
/* Translations */
Please help me to translate this app. The original english string of this app is available at
https://github.com/SmartPack/KernelProfiler/blob/master/app/src/main/res/values/strings.xml
/* Support */
/* Feature Requests */
I am generally open to feature requests as long as you provide enough information. Please make sure to provide all the relevant information, either in this thread or in the GitHub page. If you are a developer, please consider contributing to this app by sending pull requests.
/* Note to other developers */
You are allowed to include this app on any of your works. Giving proper credits to the original developers (including me, if you considered me as one among them) are, however, highly appreciated. Feel free to contact me, if you need any assistance from my side.
/* Donations */
If you like to appreciate my work, please consider donating to me (by either via PayPal, Ko-fi, or by purchasing the donation app from playstore) as it is helpful to continue my projects more active, although it is not at all necessary.
XDA:DevDB Information
Kernel Profiler, App for all devices (see above for details)
Contributors
sunilpaulmathew
Source Code: https://github.com/SmartPack/KernelProfiler
Version Information
Status: Beta
Created 2020-06-10
Last Updated 2020-08-14

Change-logs
Latest version
Old versions
v0.5
- Improved developer tools.
- Preparations for play-store release.
beta-v0.4
- Improved developer tools.
- Remove custom banner option.
- Updated build tools to latest.
- Updated change-log view.
- Miscellaneous changes.
beta-v0.3
- Removed a bunch of unnecessary code from the developer tools (improved coding quality).
- Added Portuguese (Brazilian) translations.
- Added a title check button on create config activity.
- Added option to edit the current configuration file.
- Introduced a Developer Mode, which is disabled by default.
- Miscellaneous changes.
beta-v0.2
- Improved kernel support check status before applying custom details.
- Simplified profile structure requirements.
- Fixed title on profile creation menu.
- Overall improvements.
beta-v0.1
- Initial (pre) release for public testing.

Reserved

Related

[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

[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.

List of Active Development Custom ROMs for ROM Cooker

In Alphabetical Order
AOSP ROM
ABC
Aquari
Benzo
Google+
Bliss
Google+
BlissRoms-Devices
Carbon
Google+
Copperhead
Cyanide
Google+
CyanideDevices
DarkKat
Elixir
Evervolv
Google+
Euclidean
Google+
Krexus
Google+
LiquidDeath
Google+
LiquidNougat
Master-Branch
Minimal
Google+
Nitrogen
Google+
nitrogen-os-devices
noobbuilds
PureNexus
Google+
SAOSP
Google+
Screw'd
Google+
Sheve
TorMan
TwistedCore
Google+
UBERROMS
Google+
UnholyDevs
Unlegacy-Android
Velvet
YAOSP
Google+
AOSP+CAF ROM
AICP
Google+
Anonymity
AOKP
Google+
AospExtended
Google+
BeanStalk
Google+
Candy
Google+
CandyDevices
Cardinal
Google+
Cardinal-devices
CMRemix
Google+
Cosmic
Google+
Crap
crDroid
Google+
crdroid-devices
Cypher
Google+
Darkness-reDefined
Discovery
Emotion
FireHound
Google+
FireHound-Devices
***** Ground Zero ROMs *****
GZR Google+
Tesla
TeslaROM-Devices
Tipsy
TipsyOs-Devices
Validus
ValidusOs-Devices
***** Ground Zero ROMs *****
Heritage
Hexagon
Google+
Hexa-Project
Lineage
Google+
Liquid Dark
Google+
LiquidDark-Devices
Mokee
Google+
NetHunter
Newel
aliceteam
Next
Nuclear
Google+
Oct
Google+
Team-OctOS-Devices
Omni
Google+
Orion
Google+
TeamOrion-Devices
PNougat-CAF
Reaper
RR
Google+
ResurrectionRemix-Devices
Scarex
Slim
Google+
Slim-Mimorin
StonedOSP
SudaMod
Google+
SudaMod-devices
Suicide-Squad-OMS
UB
Google+
UltraDevs
UOS
Google+
Vanir
Google+
Vertex
VertexOS-devices
Viper
XenonHD
Google+
XOSP
Google+
XOSP-devices
XPe
Google+
CAF ROM
AOSIP <= CAF
Google+
AOSiP-devices
AOSParadox
Google+
Athene <= CAF
BORG <= CAF
Citrus-CAF <= CAF
Cirtus-CAF n-8916 <= CAF
Cirtus-CAF n-8952 <= CAF
Cirtus-CAF n-8996 <= CAF
Google+
Exodus <= CAF
Google+
Halogen <= CAF
Google+
Infinitive <= CAF
Google+
InfinitiveOS-Devices
KodeParadise <= CAF
Omega <= CAF
Paranoid <= CAF
Google+
Phenex <= CAF
Phenex OS
XesKi <= CAF
Zephyr <= CAF
Google+
ZephyrOS-Devices
Note : ROMs that are not to be shared when you build them
AOSP
Flash
SkyDragon
AOSP+CAF
Broken
Google+
DU
Google+
Device specific
8890dev
AOSPlusone
AscendToDev
AquaXP
DakTak
Elixium
Exynos5420
FullGreen
FunRom
HUAWEI-MSM8916
J5-Nougat
JDC
LG_Volt-Lineage
Kenzo-CAF
Lineage-onyx
MSM8930-Samsung
Morph
MyAOSP
N3xtBit
nAOSP
Naosp
Nexus4ever
Google+
Omni-onyx
OnePlusOSS <= CAF
PixN
PURE AOSP
Pure-Hammerhead
S4
Slimbit
SM-G361F
SonyAosp
SultanXDA
TeamButter
Tesla-Unleashed
SonyM4
WeedZ
ROMs that has yet to be released
Nameless
Google+ <= Source
Vanilla-Coding <= Source
ROMs that may or may not be updated
aosp-op2
AOSP-RRO
Beltz
Dominion
Exotic
F-ASOP
Mainly
Maple
Google+
Marsh
Google+
n2o
Noise
Purity
Google+
Quantum Droid
Scorpion
SOKP
Google+
SOS
Turbo
Google+
Xylem
Theming/ App
Substratum
Custom ToolChains
UberTC
Linaro => More info here
SaberMod​
If you found any ROMs not listed here, mention my name in your reply with the link & i'll update OP, Thanks... :good:
How & Where to look for Newly Develop/ Latest Android Custom ROMs
Open any browser => github.com => Type manifest => Press ENTER
Select => Recently updated
XDA:DevDB Information
List of Active Custom ROMs, ROM for all devices (see above for details)
Contributors
yuweng
ROM OS Version: 7.x Nougat
Based On: AOSP, AOSP+CAF, CAF
Version Information
Status: Testing
Created 2017-01-27
Last Updated 2017-02-13
FAQ
What is AOSP ROM ? What is CAF ROM ? What is HAL ? There are only two types of Android sources, AOSP ROMs uses google source, Eg. here while CAF ROMs uses codeaurora, Eg. here. Do take note that CAF also have different branches, for Eg. AOSPA CAF branch uses 89xx, it won't boot on my MSM8916 or wouldn't even build.
View attachment 4019415
Source
The only custom CAF ROMs that boots on my MSM8916 uses this
View attachment 4019440
Source
Q : How do i know which custom ROMs will build & boot on my Android device ?
A : As RD Santhosh M once told me, you'll never know until you build them & flash it to your device. Generally, from the custom ROM manifest.xml, you'll see whether it is supported. Eg. My Android device uses MSM8916 & if a particular custom ROMs doesn't have that, even though it build but it won't boot. Best is to directly ask the ROM Developer via pm, most of them are active here on XDA or post at their Google+
Q : Which custom ROM shall i build ?
A : Each custom ROM is unique in their own way. i don't plan to review each of them, you'll have to build them & flash it to your device to know its feature. From experience at performance & battery life, 50% is from the kernel & balance is from the ROM, thats why some custom ROMs feels snappier than the other. While some offers custom toolchain too. More info then refer to here
Q : i wanna learn how to build custom ROMs, where do i start ?
A : There are tons of guides here on XDA & elsewhere. Personally, i use BBQLinux, more info then refer to my thread here
Q : i have a slow PC & slow connections
A : Try out Google Cloud for free, more info then refer to nitin.chobhe thread
Misc Tips
Syncing ROM Source
Code:
mkdir -p ~/AOSP/LineageOS
cd ~/AOSP/LineageOS
repo init -u git://github.com/LineageOS/android.git -b cm-14.1
repo sync -fcj68 --force-sync
Source Eg. For my kiwi. Each custom ROMs may be different, refer to their manifest for further build info
More info on syncing source here & info on fixing sync corruption here <= Misc Tips
Code:
cd ~/AOSP/LineageOS
prebuilts/misc/linux-x86/ccache/ccache -M 100G
export USE_CCACHE=1
export LC_ALL=C
export JAVA_HOME=/usr/lib/jvm/default
export ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4G"
source build/envsetup.sh
brunch kiwi 2>&1 | tee ~/AOSP/LineageOS/compile.log
My BBQLinux build-script
Fixing build error
From experience after building about forty custom ROMs, most of the time is either the ROM source or device tree. On some custom ROMs, you may need to replace certain projects in order for it to work, more info on using local_manifest.xml. Eg. below
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<[COLOR="Blue"]remove[/COLOR]-project name="android_hardware_qcom_audio" />
<project path="hardware/qcom/audio-caf/msm8916" name="LineageOS/android_hardware_qcom_audio" remote="github" revision="cm-14.1-caf-8916" />
<[COLOR="blue"]remove[/COLOR]-project name="android_hardware_qcom_display" />
<project path="hardware/qcom/display-caf/msm8916" name="LineageOS/android_hardware_qcom_display" remote="github" revision="cm-14.1-caf-8916" />
<[COLOR="blue"]remove[/COLOR]-project name="android_hardware_qcom_media" />
<project path="hardware/qcom/media-caf/msm8916" name="LineageOS/android_hardware_qcom_media" remote="github" revision="cm-14.1-caf-8916" />
</manifest>
If a particular ROM is based on Lineage & Lineage developers there has added a new feature or fix some codes & this particular custom ROM developer haven't updated it yet then most of the time it will cause build error. So either wait for a few days until those changes has been merged then only build again.
Or refer to their github & gerrit to see what are the changes that might causes the build error. Then you can either revert those changes so that the ROM can be build. An Eg. here & the build error hints something about power.h then you can revert the change as below
Code:
cd ~/CustomROM/hardware/libhardware
git revert --no-edit [COLOR="Blue"]f29cb1fd95ee6e5b371d2d6a85c1aeac708b19a6[/COLOR]
View attachment 4034126
Every custom ROMs is unique so refer to their device tree for reference. Eg. Custom MSM8916 flags & dependencies on Omnirom for my kiwi
Another common build error & fixes
Code:
ninja: error: '/home/yuweng/5x/AOSP/Omni/out/target/product/kiwi/obj/SHARED_LIBRARIES/[COLOR="Blue"]libqmiservices[/COLOR]_intermediates/export_includes', needed by '/home/yuweng/5x/AOSP/Omni/out/target/product/kiwi/obj/EXECUTABLES/[COLOR="blue"]wcnss_service[/COLOR]_intermediates/import_includes', missing and no known rule to make it
make: *** [build/core/ninja.mk:149: ninja_wrapper] Error 1
Code:
[COLOR="Red"][B]#[/B][/COLOR] TARGET_USES_QCOM_WCNSS_QMI := true
OR
Code:
TARGET_PROVIDES_WCNSS_QMI := true
Either remark it or just delete that whole flag or add an additional new flag above will fix the build error on omnirom.
While some custom ROMs require additional flags for certain feature to work, always refer to their github device tree for reference. For Eg. on my kiwi, on DU, sliding the BT switch won't work, it will switch on but it won't detect nearby bluetooth devices & in a short while, it will auto switch off. All needed was an additional flag
Code:
BLUETOOTH_HCI_USE_MCT := true
Source
If you are still not able to solve those build errors or a certain function doesn't work on your device then try asking for help at their google+. Some provide realtime on IRC Freenode too. Eg. TWRP & omnirom, always check out the timezone first. Eg. You should be able to catch hold of Dees_Troy TWRP Lead Developer( very nice & approachable developer ) at 9am to 5pm & there won't be anyone around at 3am in the morning obviously !
Ethics
Gives Credit Where Credit is Due
Over the years, i've seen alot of fights & arguments here on XDA & elsewhere regarding taking the work of others. Most developers already shared/ public their work to the world, all you have to do is to show your gratitude by mentioning their name in your work when you share them, thats all they want, to be acknowledged & recognized for their work ! When you don't meaning you are stealing from them, end users wouldn't have known & they will think that you do all the work all by yourself. Gives Credit Where Credit is Due
Detail info then refer to here & here
Official Support
Most ROM Developers doesn't support devices that they don't own. If you do want to maintain a particular ROM for your device then talk to them & see how to work things out !
Example of a Basic requirement of a Device Maintainer
Code:
As a Maintainer you are expected to:
1. Be able to build for your device and provide users with regular builds.
a. You must own the device you wish to maintain. Blind builds and ports are NOT allowed!
b. Exceptions may be made (family/friend's devices with direct access and variants of devices etc) and are to be requested BEFORE submitting your patchset to Gerrit!
c. A Co-Maintainer may be elected for your device by you if wanted. He/she must follow the same rules as you and submit their own commit to Gerrit.
d. Maintainers will have merge permissions to their device and kernel specific repositories and are expected to keep their device in working order. Whether this done by; doing basic upkeep with upstream changes for fixes and updates, starting for an upstream base and doing original work (pushing upstream when you can), or a mixture of both. The main concern is following proper procedure and keeping your device(s) functioning. Additionally, common and shared repositories will be worked on together by the Maintainers; they will still be controlled and merged by the PAC Team. In this respect, teamwork among Maintainers with common devices will not only be encouraged, in some cases, it may be necessary.
2. Threads are to be compared to our templates regularly for updated topic and content changes.
a. Templates are to be used exactly as they are with NO alterations aside the foreseen places like Title, Installation, Updating, Not working, Other info, and additional credits below the current list if any, unless permitted otherwise.
b. Custom additions (custom builds, kernels, patches, software packages etc) are tolerated and may be distributed from the PAC-ROM thread's Downloads section of the first post.
c. Information about any custom additions is to be posted in the 2nd post of both threads.
d. Custom additions are your responsibility, and are not supported by the PAC-ROM Dev Team.
e. The PAC-ROM Dev Team may change, remove, disable, or tell you to delete ANY custom additions or infringing content for any reason, at any time, in our sole discretion.
f. If unsure, ask the reviewer you contacted.
3. Maintainers MUST create an account on our [JIRA] (http://jira.pac-rom.com/). Users will be able to submit issues and find contact information on the Maintainer for their device such as PAC/XDA Threads. Maintainers will be required to upkeep their JIRA support.
4. To maintain proper support and device usability across the PAC-ROM community, if a device is: abandoned, unsupported, unkempt, or devices where the Maintainer has; sold, broken, lost, no longer has and will not be replacing [within the grace period of 4 weeks], or no longer cares to maintain the device for PAC, then the device will be removed. Remember, if the device is removed and it gets further support, from someone else, then it can be resubmitted later as new.
a. Be fair to the users, if you can not maintain the device anymore for whatever reason, please try to find a follow up maintainer, have them submit their take over changes to Gerrit, and have your threads transferred if possible. If this is not possible, please remove the device and submit your cleanup to Gerrit.
5. Prereleases
* Only Maintainers may publish Alpha/Prerelease builds.
* Alpha/Prerelease build version tag should be set to UNOFFICIAL
* Users/Unofficial device Maintainers may NOT release/post our Prerelease builds.
* Permission for Maintainers may be revoked anytime for a Maintainer or global for all Maintainers.
* Alpha/Prerelease builds are to be uploaded to BB/codename/Unofficial.
* Alpha/Prerelease builds are NOT supported by PAC Dev Team or Maintainers.
* Maintainers are to check their XDA device category for threads posting Prereleases/Unofficial builds and have them removed/closed.
* Maintainers can use this opportunity to test and bring up their devices, users can play with cutting edge test builds and return feedback for the Maintainer at their own risk.
* Community/Forum posts about ETA's, Prerelease device compatibility, broken or missing features, or any other acquisition of Prerelease information and support will be deleted/directed toward the Maintainer.
6. As a Maintainer, you will be able to:
* Get official, clean built, and automated nightly/weekly builds from Jenkins.
* Use our file hosting for builds.
* Use our OTA for pushing your own builds.
* Join in on our discussions, get support from the Dev Team and other Maintainers.
* There is no cake, it's a lie!
* Devices that get less than 35 downloads a week are considered low activity and will be moved to weekly.xml.
7. This page is subject to change without notice! Check back regularly here for changes.[/hide]
Original Source
Build Server
Recently a good friend of mine shoxxy from Germany is so kind for letting me try out his build server... :good:
View attachment 4071930
repo sync completed in about 35 minutes only instead of 8 to 10 hours on my home 10MB broadband !
View attachment 4071931
speedtest 200MB/s while my home typically only 8 to 9MB/s !
How this works is that you are actually still using your PC to connect to the build server via terminal ssh, Eg. ssh [email protected] & you'll be prompt for password. shoxxy has already setup the OS so i only need to sync the source & start building ! There is absolutely no GUI only command line so you need to be familiar with nano to edit your device tree.
View attachment 4071955
Copy/ paste from your PC to build server terminal works. Some of the common nano shortcut key is ctrl + k = cut & ctrl + u = paste or you can also use your mouse to highlight that particular line then ctrl + k to cut it & copy whatever you need to replace from your PC to the terminal & right-click mouse to paste it. More info on nano keyboard commands
View attachment 4071985
Build completed successfully. You can also use gdrive to upload your build to google drive... :good:
View attachment 4071988
Use nano to check for build error. nano shortcut key to end of file is Ctrl + w + v
View attachment 4071992
Very important to use screen before you start building or your build will stop when connection is lost !
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
You can even connect directly from your Android device too !
Always wanted something like this . Glad to see you again @yuweng.
How are you my friend, indeed it has been quite awhile since our last chat... :highfive: Back in our early MTK days, absolute nothing can build from source, we have to resort to ROM porting to get the so called custom ROM on our device... Now i can see M.A.D Team are making some progress but not all MTK devices are supported. Mid of last year, i have made the decision to move to Qualcomm SoC, we have close to 50 custom ROMs build from source, Thanks to our device tree bring-up team, crpalmer & BadDaemon, we have 3 generations of Android on it, cm-12.1 (LP), cm-13.1 (MM), cm-14.1 (N) & now we have Official Support too... And Yes, with the exact same device tree, i alone was able to built about 40 of them...
The first custom ROMs database started back in 2013, very detail list but no longer updated, i don't plan to go so deep into it, just links to their source & Google+, you'll have to sync the source, build them, flash them to your device to know what those custom ROMs has to offer, all you need is your device tree, kernel source & vendor tree & last but not least, of course, a MSM SoC not MTK... :laugh:
yuweng said:
How are you my friend, indeed it has been quite awhile since our last chat... :highfive: Back in our early MTK days, absolute nothing can build from source, we have to resort to ROM porting to get the so called custom ROM on our device... Now i can see M.A.D Team are making some progress but not all MTK devices are supported. Mid of last year, i have made the decision to move to Qualcomm SoC, we have close to 50 custom ROMs build from source, Thanks to our device tree bring-up team, crpalmer & BadDaemon, we have 3 generations of Android on it, cm-12.1 (LP), cm-13.1 (MM), cm-14.1 (N) & now we have Official Support too... And Yes, with the exact same device tree, i alone was able to built about 40 of them...
The first custom ROMs database started back in 2013, very detail list but no longer updated, i don't plan to go so deep into it, just links to their source & Google+, you'll have to sync the source, build them, flash them to your device to know what those custom ROMs has to offer, all you need is your device tree, kernel source & vendor tree & last but not least, of course, a MSM SoC not MTK... :laugh:
Click to expand...
Click to collapse
Hehe yeah, the good old MTK days. I still have the same device that you helped me with back in the day and I've done quite some work on my own too, built all the available recoveries, custom kernels and tried two ROMs (CM11 and CM12.1). They don't boot (libs issue) but haha it was a nice experience. I know you switched from the MTK scene for a while now and are working with the Honor device :silly:. M.A.D team is doing something great because a lot of other developers are coming out and getting other devices supported too!!. Sadly it's only the newer generation chips (MT67XX) while I still have the old MT65XX :laugh:. If I ever get a Qualcomm device, I'll be sure to continue following this thread .
Can i know which ROMS would get built for exynos devices?
rohit9757 said:
Can i know which ROMS would get built for exynos devices?
Click to expand...
Click to collapse
Not the purpose of this thread and the developer of that device is who you should be asking that question.
kirito9 said:
Not the purpose of this thread and the developer of that device is who you should be asking that question.
Click to expand...
Click to collapse
Apologies read it wrong and took your post in a wrong way.
Deleted.
rohit9757 said:
I agree I am a noob. Started learning stuff very recently. The device which i own is not an easy device for ROM building but am trying. Saw this wonderful post and thought would get help. But thats ok mate you can talk all about your golden days here[OFF-TOPIC] and I will take help from somebody else as xda is quite big.
Peace.
@OP:-Wonderful thread thank you.
Click to expand...
Click to collapse
I never said anything about not offering help but alright xD.
You do have a point about the OT part tho, a question like that isn't quite as OT as my post.
Theoretically all, as all of them are actually a fork of Android however, having said that, RD codeworkx has ceased development on it since 5 years ago !
Source
rohit9757 said:
Can i know which ROMS would get built for exynos devices?
Click to expand...
Click to collapse

[App][6.0+] Package Manager

Please Note: Due to personnel reasons, I'm not updating this thread anymore. For those who wish to stay updated with the development of this project are requested to reach us on GitHub or Telegram. Thank you very much for the understanding.
​
Proudly presenting, Package manager, a highly powerful application to manage apps, both system and user, installed on your android device.
/* DISCLAIMER */
Code:
Please use this app at your own risk.
I am not responsible for any damage to your device.
Everything you are doing on your device is at your own risk.
This app is so powerful to mess up your device/OS if you use it incorrectly.
Requirements
ROOT Access is required for some advanced features.
/* Features */
Package Manager is a simple, yet powerful application to manage the apps installed on an android phone, which currently offer following things
Offer a beautiful list view of System and User Apps, together or separately.
Helps to do basic tasks such as Open app, show App info, visit PlayStore page, uninstall (User apps), etc.
Do advanced tasks such as (need Root access)
Uninstall system apps (de-bloating)
Export (to SDCard) and Share an app (normal APK's)
Export Split APK's into SDCard
Install Split APK's from SDCard
Disable or Enable apps
Back up individual app data
Restore individual app data (Work-in-Progress)
/* Downloads */
/* Please Note */
This app is still in its early stage of development. If you meet any issues, please feel free to leave a comment in this thread, or contact me here. Also, you can report a bug or request a feature by opening an issue.
Help me translating this application! It doesn't take much time as it is ~ 50 lines of strings. The original strings in English can be found here.
/* Note to Developers */
This Application is open sourced and ready to accept the contributions from the development community.
/* Donations */
If you like to appreciate my work, please consider donating to me (by either via PayPal, Ko-fi, or by purchasing the donation app from playstore) as it is helpful to continue my projects more active, although it is not at all necessary.
/* Acknowledgements */
@Grarak for the Kernel Adiutor from where I took a lot of code.
XDA:DevDB Information
Package Manager, App for all devices (see above for details)
Contributors
sunilpaulmathew
Source Code: https://github.com/SmartPack/PackageManager/
Version Information
Status: Beta
Created 2020-02-25
Last Updated 2020-08-14
Change-logs
https://raw.githubusercontent.com/SmartPack/PackageManager/master/change-logs.md
Reserved

Categories

Resources