(edited some content and added a few more instructions on May 25 2015)
I initially posted this when my employer changed their policies to require device admin access to people's phones if they wanted to access company emails or calendars. Spent a few days reading the android source code and came up with a working apk.
This app removes the annoying popup saying that you need to give it admin permissions and add a numeric password. It also does not set any additional policies other than what you already have set on your device. It does not make the email app a device admin.
The app tells the server what it wants to hear - which is they have total control over the device, but it doesn't really do anything on the phone.
DISCLAIMER: I'm not responsible if:
You get fired (a very real possiblilty - companies fire people for far less than "circumventing security" even though most of us know that regular folks' emails have nothing valuable to the competition.
If you get in other sorts of trouble for using this
if this melts your device down or breaks it in any fashion or your ROM gets corrupted.
USE THIS AT YOUR OWN RISK.
How to install:
Copy the files onto your phone storage and install them using a file explorer.
NOTES (read this before you install):
This will install easily on phones that do not have email.apk and exchange2.apk. But if you have an AOSP ROM, you may already have these in your system/app directory. In that case, you'll have to uninstall the system apps email.apk and exchange or exchange2.apk using a root explorer. I use ES explorer's "App Manager" feature and it works well for me. Once the system apps are removed, you can install the files from this post.
If you update your ROM later, the system apps will come back and may conflict with these apks (installed in /data by default) so you'll have to do the removal/installation again.
You don't need Exchange.apk AND exchange2.apk on the same phone. If you use an ICS ROM (older phones), use exchange.apk. For JB or higher, Exchange2 is the one to use. If you already have exchange2.apk on your phone, you don't need to install the one from this post.
I compiled this from source, so it *should* work with all devices. There are no device-specific frameworks needed for these to run as far as I know.
I've only removed the Exchange based security. If there are any other kind of services (POP/IMAP or something else) which has similar policy enforcement, it may not work. I haven't tested it with anything other than Exchange.
UPDATE - Sep 27, 2015)
I'm sorry I disappeared - I hadn't checked back in a while and it looks like I uploaded the wrong apk. Uploading the correct one for Lpllipop.
UPDATE 4 (May 25, 2015)
Patched and compiled the Lollipop email client from CM12 sources. Google remoived exchange support from the AOSP email client, so I had to turn to CM12 for the source code.
The default Exchange2.apk from a CM or AOSP lollipop build should work so I'm not uploading it here.
UPDATE 2 (May 15, 2013)
Added Email.apk compiled from 4.2.2 sources. This gives you the nice JB style expandable notifications.
Also added higher attachment size support per a user request. The default email.apk limits the size to 5MB for atachment downloads/uploads. The attached Email-JB.apk supports 100MB download/50MB upload sizes. I'm not sure if this varies by Exchange server - I spent two whole nights because I set them too high (250M) and my exchange server threw a generic error. I spent the time troubleshooting policies where it was just the attachment size all along. Cost me 8 hours of sleep
Exchange2.apk is not needed if your phone already has Exchange.apk or Exchange2.apk. For people who have HTC phones, this may come in useful. This file was pulled from this ROM - which is compiled from sources. I couldn't get Exchange2 to compile and work properly from sources, but since there is nothing to be changed in here, any working APK (from a JB/ICS ROM) would suffice.
UPDATE 3 (Jan 11, 2014)
Added Email.apk compiled from 4.4.2 sources. This gives you the new gmail-style email view based on the contact pics or the first letter of the sender's name.
It will say that the policy was changed once you successfully connect to the exchange server, but no policy will be applied. You can check the device admins list once you connect - the newly connected exchange server will not be in the device admins list on your phone.
Notes:
I have not made any changes to the Exchange2_4_4_2.apk. I'm just pasting it here for convenience, for people who don't have it on their phones (certain HTC stock ROMS, or others that I don't know of).
If your server has other policies which prevent you from accessing it, this probably won't show an error message before bouncing you back because I've suppressed a few of these security related dialogs.
File List
May 25, 2015
Email-5_0.apk - Compiled from CM12 sources, exchange security and popup security dialogs removed, max attachment sizes changed to 100MB download/50MB upload from 5/5.
No exchange2.apk provided for lollipop - the one already on your phone should work. If you have any problems, please get it from a CM12 or AOSP ROM.
--- Old files----
Email.APK - Compiled from ICS (4.0.1) sources.
Exchange.apk - Compiled from ICS (4.0.1) sources.
May 15, 2013:
Email-JB.apk - Compiled from 4.2.2 sources, attachment sizes increased to 100MB/50MB down/up.
Exchange2.apk - pulled from a CM10.1 port (WFTN ROM)
Jan 11, 2014
Email-4_4_2.apk - Compiled from 4.4.2 (Kit Kat) sources, still retains the increased attachment size mod.
Exchange2-4_4_2.apk - Compiled from 4.4.2 sources [this apk is not needed unless you have a phone which does not already have this]
let me be the first one to say thanks !!!
worked like a charm !!
tested on HD2
I'm glad it helped
Yep thanks it's working on my rooted HTC Desire Z with andromedus
ProcessorHog said:
I'm happy to post my first actual Android dev/mod effort.
Recently my workplace introduced some draconian security policies for email syncing. I just wanted my appointments synced, so I didn't feel like encrypting my device, having zero timeout AND not even having the option of a pattern unlock (they enforce only passwords/PIN). I tried a couple of the Email.apks posted on XDA but for some reason or other, I couldn't get them to install/run. There was a GB based app which would install but when it synced, it said the device did not support some of the policies that were needed by the server. When I compared the Email app's GB source with the ICS source, I saw that there were tons more policies supported in the ICS version.
So I set upon a weekend project to modify the ICS email app, and that ended up taking 4 days part time. I learned a lot about aosp, compiling from source and all that and know that I have so much that I don't know.
Anyway, I was able to successfully modify the source code and finally managed to get the original Android Email app (which comes with AOSP) compiled running perfect, but without the ridiculous policies they wanted.
I tested it on my Evo 3D running MeanRom (4.0.3 build) and also tested it on the Android emulator of course ), and it works great. No annoying popup saying that you need to give it device admin permissions nor does it set any additional policies other than what you already have set on your device. It does not make the email app a device admin.
The app tells the server what it wants to hear - which is they have total control over my device, but it doesn't really do it on the phone. Everyone is happy
DISCLAIMER: I'm not responsible if you get fired or if you get in other sorts of trouble for using this, or if this melts your device down or breaks it in any fashion. USE THIS AT YOUR OWN RISK.
How to install:
Code:
adb install -r /path/on/your/computer/to/Email.apk
This is how I installed it. Alternatively, you can try downloading this on your phone (or copying it to the SD Card) and open it with package installer, and see if it installs.
NOTES:
I compiled this from source, so it *should* work with other devices as well. As far as I know, there are no device-specific frameworks/anything else needed for these to run. I used the android-4.0.1_r1 branch source code.
Since I was running MeanROM on my HTC (a sense-based ROM), Email.apk had some dependencies on Exchange.apk which did not exist on my device. I'm posting this as an attachment for the folks who may need it. I haven't changed any code in that project, so If you already have Exchange.apk (shows up as "Exchange Services" in your Apps) you don't need to install it.
I've only removed the Exchange based security. If there are any other kind of services (POP/IMAP or something else) which has similar policy enforcement, it may not work. I haven't tested it with anything other than Exchange.
This was compiled for the arm-v7 CPU. I'm not too sure whether this means it won't run on any other ones (but knowing that it's dalvik code and not native, it should run I guess). It ran fine on my x-86 based emulator.
[*]This is an eng build (non-optimized). I couldn't find a way to get classes.dex in the APK itself on a full "user" release build. Eng is the least optimized form, userdebug is a bit better. I couldn't find a non-device-specific "lunch" option to build this with a "userdebug" variant flag. If I do figure it out, I'll post an updated APK here.
I'm still learning how to use eclipse and such. I haven't posted the source code here, and frankly I don't know how much of it I should post (I think I changed about 3 files and commented out a bunch of stuff). If anyone is interested in knowing, I can point out the files that I changed. If I figure out how to do a proper diff that shows all the changes, I will post the code diff here.
Update:
Replaced the apks with a "release-user" build.
Click to expand...
Click to collapse
Thanks for share it, I made a CWM flasheable ZIP with your files.
ProcessorHog said:
I'm happy to post my first actual Android dev/mod effort.
Recently my workplace introduced some draconian security policies for email syncing. I just wanted my appointments synced, so I didn't feel like encrypting my device, having zero timeout AND not even having the option of a pattern unlock (they enforce only passwords/PIN). I tried a couple of the Email.apks posted on XDA but for some reason or other, I couldn't get them to install/run. There was a GB based app which would install but when it synced, it said the device did not support some of the policies that were needed by the server. When I compared the Email app's GB source with the ICS source, I saw that there were tons more policies supported in the ICS version.
So I set upon a weekend project to modify the ICS email app, and that ended up taking 4 days part time. I learned a lot about aosp, compiling from source and all that and know that I have so much that I don't know.
Anyway, I was able to successfully modify the source code and finally managed to get the original Android Email app (which comes with AOSP) compiled running perfect, but without the ridiculous policies they wanted.
I tested it on my Evo 3D running MeanRom (4.0.3 build) and also tested it on the Android emulator of course ), and it works great. No annoying popup saying that you need to give it device admin permissions nor does it set any additional policies other than what you already have set on your device. It does not make the email app a device admin.
The app tells the server what it wants to hear - which is they have total control over my device, but it doesn't really do it on the phone. Everyone is happy
DISCLAIMER: I'm not responsible if you get fired or if you get in other sorts of trouble for using this, or if this melts your device down or breaks it in any fashion. USE THIS AT YOUR OWN RISK.
How to install:
Code:
adb install -r /path/on/your/computer/to/Email.apk
This is how I installed it. Alternatively, you can try downloading this on your phone (or copying it to the SD Card) and open it with package installer, and see if it installs.
NOTES:
I compiled this from source, so it *should* work with other devices as well. As far as I know, there are no device-specific frameworks/anything else needed for these to run. I used the android-4.0.1_r1 branch source code.
Since I was running MeanROM on my HTC (a sense-based ROM), Email.apk had some dependencies on Exchange.apk which did not exist on my device. I'm posting this as an attachment for the folks who may need it. I haven't changed any code in that project, so If you already have Exchange.apk (shows up as "Exchange Services" in your Apps) you don't need to install it.
I've only removed the Exchange based security. If there are any other kind of services (POP/IMAP or something else) which has similar policy enforcement, it may not work. I haven't tested it with anything other than Exchange.
This was compiled for the arm-v7 CPU. I'm not too sure whether this means it won't run on any other ones (but knowing that it's dalvik code and not native, it should run I guess). It ran fine on my x-86 based emulator.
[*]This is an eng build (non-optimized). I couldn't find a way to get classes.dex in the APK itself on a full "user" release build. Eng is the least optimized form, userdebug is a bit better. I couldn't find a non-device-specific "lunch" option to build this with a "userdebug" variant flag. If I do figure it out, I'll post an updated APK here.
I'm still learning how to use eclipse and such. I haven't posted the source code here, and frankly I don't know how much of it I should post (I think I changed about 3 files and commented out a bunch of stuff). If anyone is interested in knowing, I can point out the files that I changed. If I figure out how to do a proper diff that shows all the changes, I will post the code diff here.
Update:
Replaced the apks with a "release-user" build.
Click to expand...
Click to collapse
what part of the smali code was modified please?
Would this work on 4.2?
I could use some help. I'm trying to run this on SOS M ver 2.6.2 (4.0.3 build) on an Evo 3d. I was under the impression that SOS M was similar enough to Mean ROM so that it would work, but all I'm getting is an immediate crash on startup. Any suggestions?
So glad that someone created this! THANK YOU SO MUCH!
The new security rules are ridiculous!
I wish that app would be maintained with the current version and be put in the google play store. How can I keep up to date with the most recent version of this app?
Recent update
Sorry I haven't been here much - life got too busy! If you post here and don't see a reply from me in a couple of days, feel free to send me a PM.
carm01 said:
what part of the smali code was modified please?
Click to expand...
Click to collapse
No smali code was modified, the apk was compiled directly from the java source code which I modified to take out a few annoying dialog boxes and the actual policies/restrictions that the server wants to set on your device.
zdravke said:
Would this work on 4.2?
Click to expand...
Click to collapse
The ICS version worked fine on 4.2 since it's just regular java code compiled from source, but I recently also added an APK compiled from 4.2.2 sources which has the expanded notifications (the ICS version didn't have it).
pbmurdoc said:
I could use some help. I'm trying to run this on SOS M ver 2.6.2 (4.0.3 build) on an Evo 3d. I was under the impression that SOS M was similar enough to Mean ROM so that it would work, but all I'm getting is an immediate crash on startup. Any suggestions?
Click to expand...
Click to collapse
Could you try the newly updated APK? Make sure your phone has exchange2.apk or exchange.apk as well. Some phones do not have these pre-installed.
sirtom1 said:
So glad that someone created this! THANK YOU SO MUCH!
The new security rules are ridiculous!
I wish that app would be maintained with the current version and be put in the google play store. How can I keep up to date with the most recent version of this app?
Click to expand...
Click to collapse
I don't think this can be put on the play store - I don't regularly maintain it (once compiled it should run without problems), and I recently updated it just because I finally got a JB ROM a few months ago and started missing the expanded notification. The next update will probably be after a long time - after the next version of android gets released.
I'm not bright enough to write something complex like the email app - there's a TON of code in it written by smart and talented people, I just dug around a little to find the policy application code and removed it. The real talented folks are the ones who actually contribute to android
luisjoseb said:
Thanks for share it, I made a CWM flasheable ZIP with your files.
Click to expand...
Click to collapse
Thanks for making this easy for others! If you have the time, could you make one for the 4.2.2 version of it? Someone could find that useful!
Just gave it a try. Works great. Thanks so much
Sent from my DROID RAZR using Tapatalk 2
thank you .. working like a charm ..
Desire with MIUI Rom (VJ - JB-4.1.2)
I had to use this mod as the latest build didnt have an Email app .. and other ROMs' Email2.apk didnt work on this one (due to mishandling the security request) .. !
anyways .. thank you ..
Thanks. I try on US T-mobile HTC One S JB 4.1.1 Sense and it works. I use Email-JB.apk and Exchange.apk
thanks for this, it's working on my galaxy s4 (android 4.2.2) now instead of that ugly samsung mail app. 1 thing i'm missing is option in the nice JB style expandable notifications to directly mark as read or delete the email in the notification panel. this option is present in cm10.1/aosp android 4.2.2 but not in this email app. Is it possible to add this?
elroy944 said:
thanks for this, it's working on my galaxy s4 (android 4.2.2) now instead of that ugly samsung mail app. 1 thing i'm missing is option in the nice JB style expandable notifications to directly mark as read or delete the email in the notification panel. this option is present in cm10.1/aosp android 4.2.2 but not in this email app. Is it possible to add this?
Click to expand...
Click to collapse
For this, I'll have to compile from CM10.1 sources. I haven't tried that - I'll give it a shot when I get some free time and will post the APK here if I manage to do that
ProcessorHog said:
For this, I'll have to compile from CM10.1 sources. I haven't tried that - I'll give it a shot when I get some free time and will post the APK here if I manage to do that
Click to expand...
Click to collapse
Okay, thanks
Getting an error on adb install... Running JDQ39 official Google version for Galaxy Nexus. Rooted/etc, obviously. Leankernel 16.something.
Is this only for AOSP ROMs?
Error I am receiving:
pkg: /data/local/tmp/Email-JB.apk
Failure [INSTALL_FAILED_CONFLICTING_PROVIDER]
No dice...
I managed to get it installed by using Titanium to uninstall Email 4.1 prior to installing yours. This gave me endless "Unfortunately, Email has stopped working" errors.
I installed a fresh AOSP 4.2.2 ROM and tried several iterations of uninstalling Email and Exchange2Google.apk and continue to get the "Unfortunately, Email has stopped working" errors.
I've tried using "apk install" and Package Installer, same results regardless of install method.
Works fine on TF101 EeePad Transformer (EOS4) and Galaxy Ace phone (CM10)
Although I have used Android (phones & tablet) for about 4 years, I have only just started dipping my toes into the exciting world of rooting and mods. And so I have just wiped my Samsung Galaxy S3 and flashed the most recent Omnirom - a process which was so painless as to be almost pleasant!
It seems, however, that multiview/split screen is not available in this particular version of Omnirom (or if it is, it's so well hidden that I've not been able to find it!). So I'm wondering if it's possible to compile my own version of Omnirom from source, with just those parts of it I need. I used to compile linux kernels (before the days of loadable modules); can I do the same with Omnirom? That is, can I compile a version of Omnirom which might contain different fuctionailty that the nightly build?
Thanks!
It's pretty straightforward of you have a Linux box, and doable on Mac as well. There are great instructions on the OmniROM wiki. Plan on the source sync taking several hours (or overnight) the first time. Make sure you set up ccache so that subsequent builds go quickly.
http://docs.omnirom.org/Main_Page
Once you've built a straight-up version that works, you can branch and cherry-pick the multi-window patches from the OmniROM Gerrit instance.
---
Posted from whatever phone booted today
Hi
I have successfully upgraded my Ideos X5 U8800 to 2.3.5 official Gingerbread, rooted it, and then repartitioned it using Blepart recovery. Subsequently I have checked out cm11 source, including Blefish repositories/code for the U8800 (thanks for good work, by the way!), compiled/built and installed a ROM. This was my first build.
OK. Good so far. Only I am looking to build cm10.1 because my goal is to eventually get this handset running Ubuntu Touch. Therefore, the next step is to get it running on cm10.1.
My problem is that I cannot find the source I need. I have tried to set up a fresh source tree and check out cm10.1 source combined with Blefish's source by specifying branch cm10.1 for the latter, using the files I used in .repo/local_manifests to get the cm11 device source etc. from Blefish. However, something seems to be missing as the lunch command fails and compilation aborts. Also, I can see that development has been discontinued on this branch for the U8800.
Any suggestions?
The cm-10.1 branch is deprecated, and I am not planning to update it as cm-11.0 is better in any way.
Is the Ubuntu Touch source code only based on cm-10.1 code though? Maybe you could have success using the cm-11.0 code as it is right now? I am not familiar to how Ubuntu uses the lunch commands, it might be different than Android's default.
Blefish said:
The cm-10.1 branch is deprecated, and I am not planning to update it as cm-11.0 is better in any way.
Is the Ubuntu Touch source code only based on cm-10.1 code though? Maybe you could have success using the cm-11.0 code as it is right now? I am not familiar to how Ubuntu uses the lunch commands, it might be different than Android's default.
Click to expand...
Click to collapse
Thanks for the quick response!
The Ubuntu Touch guide specifically states cm-10.1, but I will sign up with their forums and check whether I can use cm-11.
The following passage from the Ubuntu Touch Porting Guide gives the impression I might be able to base my work on cm-11? Would you agree?
"For quick reference, these are the current components used from Android:
Linux Kernel (stock Android kernel provided by the vendor, with a few changes to support some extra features needed by Ubuntu, such as Apparmor)
OpenGL ES2.0 HAL and drivers
Media (stagefright) HAL, to re-use the hardware video decoders
RILD for modem support
As Ubuntu is running as the main host on top of an Android kernel and the communication between the Android services and HAL happens via Binder, Sockets and libhybris. "
I am hoping this could work, as it would be a tremendous help, now that I have a running ROM built on 20 May with your source tree for the device specific code etc. which works like a charm! :good:
Best regards,
aribk
Hello
For the past couple (weeks) I've been trying to compile Android 10 for tenderloin using the Android 9 sources but it's not going so well. First thing I ran into multiple sepolicy errors and I feel as if I fixed them in inappropriate ways but the errors went away. Other errors regarding camera and audio and such, that are regarding that tenderloin no longer uses the legacy audio format. Made me confused because I used the device sources form Evervolv and DIrty unicorns and if i'm correct they built it exactly the same way they uploaded it. After these errors were wrapped up, I got a error at zipping the rom that it could not zip due to failure of being able to read build.prop. This made me believe that the sources are not correctly formatted. If anyone can help me find a manifest, I can build for all you guys. Please keep tenderloin alive!
Now, I did something and I'm getting plenty of perl errors. Maybe I'm just very unlucky. I'm gonna attempt to reinstall on a fresh drive on my server.
If its anyone's concern, I was building lineage 17.1. I noticed for example, Lineage's "qcom-device" repo was shaped completely differently than Evervolvs qcom-device repo.
This led me to thought that Android 10 is going to be extremely difficult because of all the upstream dev changes that was pushed to Q. If any of you would like, I could probably push out March patches Pie rom because over there I'm mostly safe of complying with the source.
My manifest shape
DirtyUnicorn's device-tree
DirtyUnicorn's device-tree-common
DirtyUnicorn's htc-msm8960-kernel
Evervolv's vendor
And dirty unicorn's atheros wlan driver
I have been changing up the device tree so much, it almost looks ridiculous . From what I heard lots of properties on the device tree haven't been touched for years. Maybe tomorrow I can try Evervolv's Q rom. If you guys can help me build up my manifest, we can push out a fully working Q rom for tenderloin. And it would be just in time when Android 11 comes out. Thank you everyone!
I wish that I could offer any help, but I never tried to compile any Android ROM or for the HP_TP.
To my knowledge the only users that I know that could offer some insight on the process would be:
@flintman
@elginsk8r
Also the LuneOS project could offer some help:
https://pivotce.com/tag/luneos/
If Android Q(10) can not be ported to the HP_TP, then at least P(9) is a good ROM to keep updating that could provide many years of App support.
Theres no reason why exactly it cant,, because lots of roms I hear were built off the original TP sources (From 2011!). It was only around 2016 when guys around here had to change it up so much that they should've been so surprised that it worked. I can try and temporarily maintain P roms until the boys around here push out sources for Q!
djared704 said:
Theres no reason why exactly it cant,, because lots of roms I hear were built off the original TP sources (From 2011!). It was only around 2016 when guys around here had to change it up so much that they should've been so surprised that it worked. I can try and temporarily maintain P roms until the boys around here push out sources for Q!
Click to expand...
Click to collapse
To my limited knowledge is all about Hardware -->> Drivers -->> ( Kernel ).
The reason that Bluetooth and camera does not work on newer Android version is due to the old (proprietary drivers) and the Kernel. That takes more dedication and work than the ROM. The same rules applies to the desktop, older processors does not support certain features and the Operating System will not run. It is possible to disable the features in the kernel so that it does not check the hardware and make it run, but it will be unstable.
Everything could be possible with plenty of time, knowledge and dedication.
HP_TOUCHPAD said:
To my limited knowledge is all about Hardware -->> Drivers -->> ( Kernel ).
The reason that Bluetooth and camera does not work on newer Android version is due to the old (proprietary drivers) and the Kernel. That takes more dedication and work than the ROM. The same rules applies to the desktop, older processors does not support certain features and the Operating System will not run. It is possible to disable the features in the kernel so that it does not check the hardware and make it run, but it will be unstable.
Everything could be possible with plenty of time, knowledge and dedication.
Click to expand...
Click to collapse
When I look at the tenderloin source, the script to gather the camera driver is disabled. Camera isnt a huge deal though because its only 1.3 MP. However we use the MSM 8960 kernel from HTC and that is the one m7,, but the one m7 is a SD 600 device so it loses sense. I was gonna get some help with one of my kernel developer buddies to dev a kernel for android 10 for tenderloin. If you see the one m7 has Lineage 17.1 available and even though it doesnt have same chipset, if im correct both chipsets went off of the same assembly line process. Lineage 17.1 for the one m7 also packages it as a "uimage" which is what we use. I believe this was only a very small select of devices. Yeah about that ive been getting so many complaints during build about "mkimage" which should've been a prebuilt tool in the lineage source. Don't know why they removed it, or if our developers added it in by their selves, etc. Anyways I fixed that error by just "allowing" mkimage in one of the permission files in my environment. But yeah i went as far as the build packaging the ROM and it complaining it cannot read build.prop. Note the build.props are generated by the environment , not the source (even though the device data is gathered by the source, its not what im talking about). I even go to the directory it was complaining about and it was all there. One of my friends suggested a permission error. I changed permissions to 777 (rw to all users) and it would still output that error. By that point I trashed my build meaning I may of done something wrong early on. I will let someone else continue building 10 but I will continue building 9 with latest patches.
It will be extremely impressive if any kernel developer will update the HP Touchpad Kernel or tweak it for future release, well everything will stop once Android becomes 64 only.
I am sure you are very well aware, but I will suggest using this built:
https://forum.xda-developers.com/hp-touchpad/development/rom-evervolv-hp-touchpad-t3923512
I was able to do the following playing around recompiling the Kernel. I recompile almost all the ROM and incorporated the same kernel changes.
https://forum.xda-developers.com/hp-touchpad/general/hp-touchpad-optimize-android-swap-t3901773
The Ramdisk is also very easy to unpack and repack:
https://forum.xda-developers.com/hp-touchpad/general/hp-touchpad-novacom-repair-android-t3960435
There is no need to get the original Camera or Bluetooth working, only sound and WiFi.
HP_TOUCHPAD said:
It will be extremely impressive if any kernel developer will update the HP Touchpad Kernel or tweak it for future release, well everything will stop once Android becomes 64 only.
I am sure you are very well aware, but I will suggest using this built:
https://forum.xda-developers.com/hp-touchpad/development/rom-evervolv-hp-touchpad-t3923512
I was able to do the following playing around recompiling the Kernel. I recompile almost all the ROM and incorporated the same kernel changes.
https://forum.xda-developers.com/hp-touchpad/general/hp-touchpad-optimize-android-swap-t3901773
The Ramdisk is also very easy to unpack and repack:
https://forum.xda-developers.com/hp-touchpad/general/hp-touchpad-novacom-repair-android-t3960435
There is no need to get the original Camera or Bluetooth working, only sound and WiFi.
Click to expand...
Click to collapse
I think I probably stated somewhere, but Evervolvs "device" tree would just spit out hundreds of errors, and I fixed this by switching to Dirty Unicorns device tree. I also tried flintman's device tree and it didn't spit out many errors. Thanks for this though.
djared704 said:
I think I probably stated somewhere, but Evervolvs "device" tree would just spit out hundreds of errors, and I fixed this by switching to Dirty Unicorns device tree. I also tried flintman's device tree and it didn't spit out many errors. Thanks for this though.
Click to expand...
Click to collapse
I have only recompile the Kernel and all of them work, but the correct branch must be use. I can not say about building a ROM, never done it.
But Evervovs Pie by elginsk8r works very well and stable as it uses the same kernel, but the framework is different. I guess elginsk8r will be the only that can guide you on the right direction or flintman.
Have fun learning, it takes a lot of TIME!
I'm kinda new here, so please excuse me if this is not the best place to ask and it should instead be posted in another section.
First, a bit of context: I recently bought a refurbished H910 to practice android development since it was fairly cheap, and after testing its features and unlocking the bootloader to install custom roms, i opted to start compiling a kernel of my own with some changes to begin involving myself with the development side of things. For now, i am using the Lineage OS 18.1 kernel sources on github as a base for the kernel, then after making sure that the kernel compiled, i flashed it into the phone and basically everything works with the only exception being the bluetooth, and maybe the IR Blaster, but that one is working just like the stock kernels on different Android 11 roms.
Now getting to the issue itself in more details... it boils down to the phone's bluetooth refusing to turn on while running that custom kernel of mine on any Android 11 ROM, be it Lighthouse, Superior OS Xcalibur or Lineage 18.1, the bluetooth tile gets stuck on the "Turning on..." icon animation for a while and then returns to the disabled state. Reverting to the stock kernels or even using other custom kernels like Lyb's or Gamma make the Bluetooth work again without needing a wipe, which tells me that the problem is definitely somewhere in my kernel. I could of course test it on some Android 10 ROMs, but the outcome will most likely be the same.
I even took some logcats via ADB Shell but they are kind of broad and mostly explain that the service had some problems with "com.android.bluetooth service has died: psvc PER", followed by a "scheduled restart of crashed service com.android.bluetooth...". Both of which never happen on those ROM's stock kernels, where the bluetooth works as expected. I looked around on Lyb/Gamma kernel sources on github, and there aren't any major differences to the defconfigs for example with the bluetooth driver configuration also being just about the same.
I'm not sure if this will be of any help, but as for the toolchains and compilers, i am using clang 11.0.2 383902b1 as the main compiler, gcc 4.9 as the ARM32 cross-compiler, and gcc from 4.9 up to 10.3 as the AARCH64 cross-compiler, all running on Manjaro. I also changed that combination dozens of times, but to no avail.
So am i missing something during the compilation process? With all those things i already checked, i keep getting a feeling that something really simple is going over my head. Also, i can post the link to my github repository here if needed, there's a branch made specifically to check the BT since it has only the changes made to assure that the kernel compiles.
Edit: The problem was solved!!! It actually comes down to using the exact toolchains provided by the lineage OS source tree for the device (that might be optional, but it's how i managed to get it working) and checking if everything has been installed correctly. It seems some files failed to download the last time i did a 'repo sync' on the source and that was what might have caused this.