[APP][4.0+][Snapdragon][CAF]Code Aurora SWE Browser (Unofficial)(Stock)(Adblock) - Android Apps and Games

This is the fully stock and unchanged Code Aurora Snapdragon Optimized Browser version m60. Everything is open source and I will also answer any questions how I built this APK. I am just a lone wolf with a Ubuntu 14.04 machine and Linux has been my hobby. I am NOT a full fledged developer but I know enough to build source and I am happy to share this here at XDA and help out.
I will gladly have this thread locked if anyone can point me to a vanilla and unchanged CAF Snapdragon Optimized Browser. Why Code Aurora does not build and make available this awesome browser is beyond me. I searched https://codeaurora.org and they do not offer their SWE Browser APK! I've searched here at XDA and elsewhere and most of those offering CAF browsers are not sharing their source code and/or are making changes or adding patches to the original source.
Before I begin, I'd first like to thank Code Aurora for their source code and this guide by ZeroX7C and gwinlord for his guide. I did NONE of the hard work at all. Those who I cited deserve all the thanks for their work. All I did was piece it together, strip out any changes that are non-CAF, build it, and offer it here. You may not donate any money to me as I feel I have done nothing to deserve it.
Just as ZeroX7C says, the documentation on how to build this browser is incomplete. It took me several hours and many curse words to finally get this browser to build. ZeroX7C's guide is also incomplete and gwinlords guide makes changes and adds patches to the original source so here I will help to complete the guide for an original unmodified CAF browser that ZeroX7C started.
Below is a guide to build your own Code Aurora Snapdragon Optimized Browser version m60:
Requirements:
Ubuntu 64 bit, preferabely 12.04 or 14.04
8GB RAM, 8GB Swap, 100GB Free Space
1) First, run
Code:
sudo apt-get update
2) Set up your build machine by following the Code Aurora Build Machine Requirements Guide. There will be an error about depot_tools using a deprecated URL. Allow the setup to install newer versions of depot_tools from Google. Do not install the Oracle JDK. Code Aurora uses OpenJDK 8 in build m60 and not Oracles JDK. Run the following code if your machine does not have OpenJDK 8 installed.
Code:
sudo apt-get -y install openjdk-8-jre openjdk-8-jdk
3) Create the .gclient file in the same directory where you git cloned depot_tools and build dependencies. Add the following code to .gclient
Code:
solutions = [
{ "name" : "src",
"url" : "git://codeaurora.org/quic/chrome4sdp/chromium/[email protected]/remotes/origin/m60",
"deps_file" : "DEPS",
"managed" : False,
"safesync_url": "",
},
]
target_os = ["android"]
4) Change directory to src, run
Code:
cd src
git clean -f -d
git reset --hard HEAD
GYP_CHROMIUM_NO_ACTION=1 gclient sync -v -r refs/remotes/origin/m58
./build/install-build-deps-android.sh
. build/android/envsetup.sh
GYP_CHROMIUM_NO_ACTION=1 gclient runhooks -v
GYP_CHROMIUM_NO_ACTION=1 gn gen out/Default --args='target_os="android" symbol_level=0 is_debug=false optimize_for_size=false remove_webcore_debug_symbols=true proprietary_codecs=true'
5) Add adblocking. Credit goes to AdAway, Adblockplus, ublock origin, and adguard for their recommended adblocking host files and @ArslanTheGreat for all the help.
Code:
nano chrome/java/res/raw/web_refiner_conf
Modify the code in web_refiner_conf to,
Code:
{
"version": "1.0",
"update": {},
"subscriptions": [
{
"name" : "Adaway",
"category" : "Hosts",
"format" : "WebRefiner 1.0",
"url" : "https://adaway.org/hosts.txt",
"expiration" : "5 days"
},
{
"name" : "hpHosts’ Ad and tracking servers",
"category" : "Hosts",
"format" : "WebRefiner 1.0",
"url" : "https://hosts-file.net/ad_servers.txt",
"expiration" : "5 days"
},
{
"name" : "Peter Lowe’s hosts file",
"category" : "Hosts",
"format" : "WebRefiner 1.0",
"url" : "https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext",
"expiration" : "5 days"
}
]
}
6) To apply all the modifications all at once, download the attached patch and apply using
Code:
git apply swebld58ver0004.patch
7) (a.) Optional: If you want to create logs of the build for error checking, then
Code:
mkdir logs
nano build/makeswebrowser.sh
and add the following code
Code:
#1/bin/bash
set -e
exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3
exec 1>logs/swebuild.log 2>&1
time ninja -C out/Default swe_browser_apk
then run,
Code:
chmod +x build/makeswebrowser.sh
build/makeswebrowser.sh
Logs will be in src/logs/swebuild.log
(b.) OR, if you just want to skip making logs, simply run
Code:
ninja -C out/Default swe_browser_apk

*Changelog*
Why build another CAF browser?
I am building this because I wanted a nicely developed and secure open source browser for my own personal use and for my family. I appreciate the offerings on f-droid and the open source chromium build, but I wanted the snapdragon optimized version and there is none to be found that are entirely open source and not making changes to the original Code Aurora source code! I am also somewhat concerned that some of the browsers on F-Droid may possibly have security vulnerabilities despite their respective developers best intentions.
Is this browser fast?
Yes! After optimizations posted in the build guide, the SWE Browser is faster than Chrome in every which way.
Will you be keeping this browser up to date?
Well, I do plan on keeping this up to date as long as there is no official Code Aurora browser being published. Would someone please complain to Code Aurora and ask why they are not building it and publishing it? My Ubuntu 14.04 machine runs all day and while I'm gone at work, why not have it build this browser and other things I'd like to have?
Will you add new features to this browser?
No, I will not. I plan on keeping these builds completely stock as it would come from Code Aurora themselves. There are however hidden features that may be enabled. I am looking into it.
I have a bug, can you fix it?
No I will not fix it. This is a beta build, m55. It probably does have some bugs! If there is a problem with the build, it's up to Code Aurora to fix and not me.
Hey, want to try a new compiler to optimize this build?
Sure! Or if you happen to know of other ways we can compile SWE_Browser and have suggestions for other compilers or libraries we can use to tune this build, please post them here! Let's gather a master list of ways we can all compile this APK ourselves!
*edit 12/23/2016*
After careful consideration, I decided not to try new compilers. I decided I am going to follow Code Aurora's build environment exactly as recommended on their own website. After all, I think they probably know what's best for their own software they created.
Can I post benchmarks in this thread?
Sure, please do! I ran several benchmarks and they are all over the place. The SWE Browser is faster than Chrome but runs about the same speed as other CAF based browsers.
If you have any suggestions at all about the browser or the build environment, please post!
--Helpful References--
https://github.com/scweeny/CAF/
https://forum.xda-developers.com/general/general/guide-building-chromium-snapdragon-t3255475
https://github.com/gwindlord/caf_chromium_build
https://source.codeaurora.org/quic/chrome4sdp/
Import Bookmarks from Chrome
Fix AMP pages

Thank you for the guide and i'm looking forward to the complete version, i been missing with this for pass few day and i still cant figure it out, also could you include how to customize it to add google sync and patches and stuff.

hello,
does it support cm 11?

TheUser123 said:
Thank you for the guide and i'm looking forward to the complete version, i been missing with this for pass few day and i still cant figure it out, also could you include how to customize it to add google sync and patches and stuff.
Click to expand...
Click to collapse
I just now updated the guide, see above. I am sorry, I don't plan on adding any patches at the moment. You can check gwinlords guide linked above. In it, there are several patches that can be added.
arjuntsgowda said:
hello,
does it support cm 11?
Click to expand...
Click to collapse
I'm sorry, it does not. The browser will only run on LP or MM based OS's at this time. I updated the title of this thread to reflect that.

Everyone who uses SWE Browser should always get the latest version. I notice people are still downloading the first build but I encountered several errors during that build. I've gotten much better at setting up the environment since then. I've noticed benchmark improvement on the latest build too, just sayin!

Why is Web Refiner not part of this build? Otherwise the browser is running fine and is pretty fast even compared to other CAF browsers, good job OP.

10goto10 said:
Why is Web Refiner not part of this build? Otherwise the browser is running fine and is pretty fast even compared to other CAF browsers, good job OP.
Click to expand...
Click to collapse
Web refiner must not be part of Code Aurora's m55 build. Is it part of other Code Aurora's builds? The SWE Browser is built exactly as recommended per their own sync and build instructions. I can't even use the Qualcomm LLVM even if I wanted to because m55 uses a newer toolchain.
I agree, the browser is pretty fast especially the last build. This is the only browser I use now. I compiled SWE browser last Saturday and the version number did not increment so I did not upload it in case anyone was wondering.

mattnin said:
Web refiner must not be part of Code Aurora's m55 build. Is it part of other Code Aurora's builds? The SWE Browser is built exactly as recommended per their own sync and build instructions. I can't even use the Qualcomm LLVM even if I wanted to because m55 uses a newer toolchain.
I agree, the browser is pretty fast especially the last build. This is the only browser I use now. I compiled SWE browser last Saturday and the version number did not increment so I did not upload it in case anyone was wondering.
Click to expand...
Click to collapse
Yes, I think. It's included in some custom builds: YuBrowser (m54, customized by the Mokee team) and TugaPower Browser (m54, m55, and m56). I like to browse the web without ads
I'm not a dev myself, but maybe these links can help you:
https://wiki.codeaurora.org/xwiki/bin/Chromium+for+Snapdragon/Customization+for+M42
https://source.codeaurora.org/quic/...5&id=950ba75f9296bfe4318ac39ff966cc2e48512ff5

10goto10 said:
Yes, I think. It's included in some custom builds: YuBrowser (m54, customized by the Mokee team) and TugaPower Browser (m54, m55, and m56). I like to browse the web without ads
I'm not a dev myself, but maybe these links can help you:
https://wiki.codeaurora.org/xwiki/bin/Chromium+for+Snapdragon/Customization+for+M42
https://source.codeaurora.org/quic/...5&id=950ba75f9296bfe4318ac39ff966cc2e48512ff5
Click to expand...
Click to collapse
Interesting. Looks like I should be able to enable this feature by including a proper configuration. Thanks for heads up! Once I have that completed, I'll update the download and the guide. :good:

Thanks again @10goto10 for the heads up on web refiner. It's working perfectly with the default host files recommended by AdAway.
The browser version number is the same as the previous build but I did sync the repository as of 07 Jan. Updated the guide with new build instructions and androidfilehost with the latest build.
*edit*
Dammit, I had a copy paste error in the adblocking conf file. I didn't have a lot of time tonight to work on the SWE Browser and I must have rushed a bit and didn't notice I used the same URL twice. So the last build's web refiner is only using two host files. Even though it is only using two files and not three, it's still doing a good job according to my tests.
Also, in case anyone is wondering, bookmarks are saved after updating manually.
*edit again*
Ok, fixed the guide and updated the pgl.yoyo.org url. Synced the local repo, didn't see any new changes from Code Aurora. Set it to build. I'll update androidfilehost with the build as soon as it's done!

The new build is up, and version number incremented to 55.0.2883.2641472, so get the newest version with web refiner in the top post.

mattnin said:
The new build is up, and version number incremented to 55.0.2883.2641472, so get the newest version with web refiner in the top post.
Click to expand...
Click to collapse
Just wanted to say thanks for doing this. I've had the same thoughts as you for a while now... wondering why CAF doesn't put out an official apk, and wanting to figure out how to build it for myself as well. Looks like you beat me to it haha.
The guide is awesome too. :good:

Can confirm now webrefiner is working as intended! @mattnin you rock!

FanDroid09 said:
Just wanted to say thanks for doing this. I've had the same thoughts as you for a while now... wondering why CAF doesn't put out an official apk, and wanting to figure out how to build it for myself as well. Looks like you beat me to it haha.
The guide is awesome too. :good:
Click to expand...
Click to collapse
You're welcome. Glad I could give back to this great community! I'm still working on the guide, it's not finished! I'll make it easier to follow and understand.
10goto10 said:
Can confirm now webrefiner is working as intended! @mattnin you rock!
Click to expand...
Click to collapse
Holy cow, it blocked 23 advertisements! That's gotta be a record!
Good news everyone. I know why the other CAF builds are larger than mine, and I also know why they are just a little faster than mine. Not anymore...
After taking the tip by @10goto10 and looking into webrefiner, I began to dig into the source code and look into other 'hidden' features of Code Aurora's SWE Browser. I came across the same optimizations that the other CAF browsers are running. I found that the optimizations sacrifice build size for speed. See the code below.
Code:
GYP_CHROMIUM_NO_ACTION=1 gn gen out/Default --args='target_os="android" symbol_level=0 is_debug=false optimize_for_size=false remove_webcore_debug_symbols=true'
Not only that, but there may be some other code aurora features I can enable. I will keep plugging away and see what I can accomplish, but here we are again with a new build. It's the same version as the last but optimized for SPEED! :laugh: run some benchmarks and see for yourself.

Here are benchmark scores using Octane,
Chrome 4792
SWE Browser 5443
SWE Browser smokes Chrome! :good:

Done some JS & DOM benchmarks myself against the latest Samsung Browser and the previous version of this browser.
~14% speed improvement compared to the previous version, awesome! :good:
...and it's even ~5% faster than TugaBrowser M55. YuBrowser M54 is ~8% faster though, but it eats RAM like nobody's business

10goto10 said:
Done some JS & DOM benchmarks myself against the latest Samsung Browser and the previous version of this browser.
~14% speed improvement compared to the previous version, awesome! :good:
...and it's even ~5% faster than TugaBrowser M55. YuBrowser M54 is ~8% faster though, but it eats RAM like nobody's business
Click to expand...
Click to collapse
I'm working on the YuBrowser speed advantage... It could be because YuBrowser is based on stable CAF, not sure at this point but I will get to the bottom of it.

10goto10 said:
Done some JS & DOM benchmarks myself against the latest Samsung Browser and the previous version of this browser.
~14% speed improvement compared to the previous version, awesome! :good:
...and it's even ~5% faster than TugaBrowser M55. YuBrowser M54 is ~8% faster though, but it eats RAM like nobody's business
Click to expand...
Click to collapse
Try the yubrowser comparison now. Maybe try clearing app cache after new install. Now getting 5759 on Octane. New build up, version incremented.

mattnin said:
Try the yubrowser comparison now. Maybe try clearing app cache after new install. Now getting 5759 on Octane. New build up, version incremented.
Click to expand...
Click to collapse
Man, you're a frikkin machine, cranking out these builds like it's nothing
On the left is your latest build, and on the right is the latest version of YuBrowser. (I cleared data and cache, etc.)
Still no luck on the JS performance forefront; YuBrowser M54 is still ~8% faster.
But DOM / Page load+manipulation is faster by ~6% on your (latest) build, and that's the reason why I prefer your browser over YuBrowser. :good:
Also, I can't confirm this right now since I'm on TouchWiz, but on CM13 peak memory usage under the same workload is higher on YuBrowser than.... any other browser I could think of, really. That sucks because other background apps get closed when I do some intensive browsing with it..
Your hypothesis might be correct: JS on M54 is probably more optimized because it's CAF's stable release, and there's probably something about M55 using a newer toolchain.
p.s: I attached a BT keyboard now while running the Speedometer benchmarks, because it likes to open the virtual keyboard from time to time, and that might affect the results. So that's why the benchmark score for that is higher than my previous runs.

Related

[APP] [14-Feb-2011 @ 1.14] Universal ROM Updater (yeah, it's free!)

ROM modders/developers!
I'm the developer behind ROM Updater. It's meant to be an universal ROM updater (which means, it doesn't really care if you're on CyanogenMod or you're on the "whitelist"-free of ROM Manager). There is even a PHP script (on the website) which will automatically create incremental updates, cool feature of my app which lets both you and users save a lot of bandwidth. Please consider "adopting" it, it's free ^^
elegos said:
ROM modders/developers!
I'm the developer behind ROM Updater. It's meant to be an universal ROM updater (which means, it doesn't really care if you're on CyanogenMod or you're on the "whitelist"-free of ROM Manager). There is even a PHP script (on the website) which will automatically create incremental updates, cool feature of my app which lets both you and users save a lot of bandwidth. Please consider "adopting" it, it's free ^^
Click to expand...
Click to collapse
Nice work Elegos
Fantastic, consider me a supporter.
I think u have delivered it pretty well
Update: I've released incremental.jar and relative sources. Go to the website and check
New in version 1.8 (from version 1.7):
- Tried to fix a Null exception error, received via Market (thanks for reporting!) (please test)
- Added incremental.php and incremental.jar (plus sources) in the git repository to easily create incremental updates
- Moved common variables in a singleton (SharedData class) and more comments for easier understanding of the code and less variables around
PLEASE NOTE:
You don't have to mess up with the ROM name anymore, the program will check for the ro.build.display.id (MOD name) and ro.build.version.incremental (!!!INTEGER!!! version number), as well as ro.product.model (for future releases, in our case be sure is "Nexus One"). The repository main.json file has a new variable, "model" which is, indeed, the same of ro.product.model. Future versions of the app will make impossible to download updates not for your phone.
DEVELOPERS:
You have no excuses now ! I've talked with some other modders who say, for example, their updates are changing rather all the files, and I say you it's not true. Making some tests I saw that using incremental updates make the update 50~75% smaller, even with MIUI weekly releases. This means "bye bye" to the bandwidth problems, both for hosters and users.
Just added your page as my favorite. Will study and use it later, hehe ,need some time to know about it~~~~
So how do I set up repository for. CM7 nightlies? Do I have to enter it manually?
Sent from my Nexus One using XDA App
I'll give it a go. I have been using ROM Manager and it works very well but I was getting concerned with the bandwidth used for the CM7 nighties.
This does support CM7 nighties right?
Also, what about getting notifications when there is a new build for ClockworkMod Recovery and backup/restore options for ROMs that I keep on my phone?
Wow, as a themer, I would have to say that the idea behind this is amazing. I would love to see it adopted by everyone. I would like to be able to see what exactly has changed between updates, it would save me a lot of time personally. I commend you for your work on this. Woot
@apratomo: you need someone who sets up a CM7 nightly repo. I can't, as it would mean I should support every ROM out there, and my bandwidth is limited (I can host one ROM if you want, not 1000 ). By the way you should edit the build.prop file in order to edit the incremental value and make sure the ROM name is allways the same (display.id).
@pfran42: it supports any ROM you want, this is why I made it
It actually don't check for new recovery images, as it relies on external repositories only, I may create a different application for that though. As of backup/restore, it currently has an option to backup the current ROM wherever you want (see options). When I discover how to restore a nandroid backup via command line, I'll add that feature too.
This is a great idea, however adoption may be slow. Even though its an AWESOME idea, it may be a good idea for you host a popular ROM elegos to get the ball rolling. I'd hate to see this die...
Ok so I have to launch a poll. Problem is that:
1. In the generic Android Development forums (where this really thread should stay) is overcrowed with posts, most of them are just publicity for apps on the market.
2. I'd love to have the attention of all the android people to partecipate to the poll. Of course I MAY create a CM7 nightly repo, but it would mean daily work for me (and a lot of space on my host).
I'm working on a system that should keep a list of repositories automatically updated every time you download a ROM with the app (accepting to send anonymous data). It's ready in the git repository, I'm waiting to push it live 'cause I want to create an interface to grab that data too (a sort of list ordered by phone model).
I think that just for starting I'd love to host a Nexus One Gingerbread AOSP, just like MicroMod777's one (TBH I already have that repo online, but it's frozen at version 20 as MicroMod is focusing on CM 7 custom builds, which I dislike for its too many customizations (both CM itself and MicroMod's)). Alternatively an AOSP 2.3 with no apparent changes (i.e. maybe CM with standard launcher). Any idea?
Sometimes you just have to prove how good your ideas are, because people are lazy... good luck my friend.
Sounds interesting.
I'm going to release a "major" update: all the times a user downloads a ROM and accepted to send anonymous data, the repository, ROM name & version and phone model will be sent to a database, which will return back a list of repositories directly in the settings menu!
I've released version 1.9 and made a Enomther Nexus One repository. Enjoy!
Version 1.9.1
- Fixed an untranslated italian string
- Fixed the import of a repository URL via the repositories list (new line at end of repository)
- Made the application more solid when there are connectivity problems / no internet available (no crash anymore)
awesome work!!
have tagged the link shall go thru it...gr8 job elegos ..!! ..PeacE
Awesome ^-^

[DevTOOL][2012-10-01] Fast AAPT (#2) - Speed up Eclipse/apktool/etc

Presenting: Fast AAPT - aka FAAPT
Lately Android development has been getting me down. Slow builds all over the place in many of my app projects, and my PC is blazing fast - it shouldn't all be that slow, even if you're running Eclipse!
Working on DSLR Controller has been driving me mad - testing a minor change in the underlying communications library, then building and launching the app - ugh! So I set out to fix this. I had done all the usual tricks, even gave Eclipse loads more memory (helped with regular performance, but not building) but nothing major seemed to change. Then I figured out most of the time building was spent in AAPT. So I synced my AOSP repo (2012.09.26, took a few minutes), tried to get the Windows SDK to build on my Linux box (took several hours) and finally got to actually mucking with the source.
Found the bottleneck (for my long-build-time projects at least, related to XML file compilation) and fixed it (by introducing a simple cache). "DLSR Controller" build time has gone down from 35 seconds minimum, to 2-3 seconds ( >10 times faster). Hell, I can even turn "Build Automatically" back on without getting constant delays!
Note that my build times quoted only apply to incremental internal builds. If your images still need to be "crushed" (optimized), or you're "exporting" an APK (final build for publication), build time will still be significantly longer. However, during normal development and testing (by far most builds if you're making an app in Eclipse) those stages are not performed, and builds should be lightning fast.
"Fixed" is a big word though, right now it's more of a "hack", and it needs some pollish, so the patch can be submitted to AOSP. I don't want to keep it from you for that long, so my first test build is attached - don't use it in production builds..
Patch code has been submitted to:
AOSP - #1 Cancelled, #2 Review in Progress ... superseded by ctate rewrite
AOKP - #1 Merged, #2 Merged
CM - #1 Cancelled, #2 Merged
Attached ZIP includes Linux, Windows and Mac OS X versions.
The files are drop-in replacement, but I would certainly advise you to backup the originals for your production builds! Also, don't forget to chmod/chown on Linux or it won't work.
Enjoy and leave some feedback
Will this help your project build ?
A quick way to spot if this will have effect on your slow build is as follows:
- In Eclipse, set Build output to Verbose under Window -> Preferences -> Android -> Build.
- Clean and build your project.
- If the build pauses on lines in the "(new resource id <filename> from <filename>)" format, you have the problem FAAPT fixes
(of course, you can also run aapt manually if you know how, you'll get the same output)
In a full framework build the optimizations only affect a very small portion of the actions done during the build, so you won't see any spectaculair speed increases there.
Update (#2)
I have updated the patch code to fix problems with Mac OS X compatibility, I've also included a Mac OS X binary in the new zip file.
-----
( v1: 557 )
So that's what's been killing the speed of my eclipse then. It froze so often I had to switch to AIDE on my phone. Hopefully this'll speed it up a little
Sent from my Galaxy Nexus using Tapatalk 2
Awesome work Chainfire, will play around with this in a few
Thanks brother, gonna give it a try right now on Linux
EDIT:
It works. Gave it three tries. Went consistently around 19.1 sec with FAAPT and 33.9 sec with regular AAPT. This is on the Linux version. Good job
Amazing work. Handles large resources like framework-res a lot faster.
wildstang83 said:
Thanks brother, gonna give it a try right now on Linux
EDIT:
It works. Gave it three tries. Went consistently around 19.1 sec with FAAPT and 33.9 sec with regular AAPT. This is on the Linux version. Good job
Click to expand...
Click to collapse
Glad to hear the Linux version also works! Too bad your increase is not as much as mine, but I guess it depends heavily on the amount and type of assets in your project.
Chainfire said:
Glad to hear the Linux version also works! Too bad your increase is not as much as mine, but I guess it depends heavily on the amount and type of assets in your project.
Click to expand...
Click to collapse
I tested on a theme project of mine, so its heavy in img files. Thats probably why. I'm not complaining one bit. Absolutely love it and can't wait to try it out on my other apps
Chainfire said:
Glad to hear the Linux version also works! Too bad your increase is not as much as mine, but I guess it depends heavily on the amount and type of assets in your project.
Click to expand...
Click to collapse
Indeed, tested the Windows version and yes it gives a very good result with a amount of assets, i got 7 time faster than the normal one on Eclipse, too bad we can't use it for production, we need one for Apktool .
wanam said:
Indeed, tested the Windows version and yes it gives a very good result with a amount of assets, i got 7 time faster than the normal one on Eclipse, too bad we can't use it for production, we need one for Apktool .
Click to expand...
Click to collapse
Actually, I was using it with APKTool.
Thanks CF.
Decompiling recompiling now is so fast
apktool and Maps.apk on Linux.
aapt - 29.2s to compile
faapt - 2.2s to compile
Amazing job, Chainfire!
Tested both in linux and winz....
It works great!
Untested time but noticeble faster.
What's the next step after elite rec dev for chainfire?
Thanks for the great work!
Could you post your tweaked source file(s)?
Would like to compile from source for OS X..
On my projects I see anywhere from 5 to 20x speed increase on build. Thank you for this magic.
I don't get how the google android SDK team did not optimize this (I know they done some crazy optimizations for different stuff).
Yeah, could you post your patch?
berdon said:
Yeah, could you post your patch?
Click to expand...
Click to collapse
He did say in the OP. He had to clean it up for AOSP inclusion, so just wait till you see it on Gerrit
Sent from MIUIAndroid Phone.
That is good stuff. It's gonna save me a whole lot of time. The thanks button was just not enough to thank you!
Thanks for the great work Chainfire.
Whoa! Now I will surely stop cursing while waiting for xenoAmp tu build (just not enough time to say "kurwa!")! Thank you!
I'am using ArchLinux x64 as my normal desktop OS. (Yes, I don't have Windows.) and tried it with Eclipse, but it don't work.

[APP][4.0+] #NoChromo - A wild ad-blocking browser appears [v51.0.2695.0][2016/04]

Once upon a time the lord Google releaseth teh Chrome, and the people marvelled in great wonder. Never before could they partake in so many internets in so little time.
Yet even then, the ceiling of lolcats/hour was quickly reached, for the pages were blinky and full of distractions, and the leeching of bandwidth delayed any reactions. Viagra! Cialis! Which button to button to download the download? What happened next will amaze you.
Reinforcements arrived in the form of extensions, blocking ads and performing malware prevention. Alas, as usual the exploits of the big and resourceful are no help at all to the friend in your hand.
Solutions abound. Proxies. Jailbreaks. None sanctioned by the ever-controlling and -vengeful bohemoth.
Here I present you with yet a different take on the problem, because I love you internet... #NoChromo
Err, what?
Right! This is nothing more than a modified build of Chromium (which recently saw a lot of sources from Chrome for Android added). It offers some built-in ad- and malware-blocking.
Note that it doesn't attempt any hiding of ad-sections, so you may be presented with blocks of empty space (or containing errors).
This is not a port of any existing ad-blocking plugin for 'grown-up' Chrome, it's just a quick reimagining of some of the parts. Sooner or later Chrome for Android will get extension support for a truly proper adblocker, I hope sooner.
FAQ
Reimagining?
It's coded in C++ and compiled directly into Chromium (a handful of ms per request, total memory use about 3mb), but it only covers URL manipulation at this time. It doesn't modify page content (remove/hide ad blocks), nor does it keep track of the type of request (some ad blockers do this for improved blocking).
vs hosts-based blocking, AdBlock Plus, uBlock?
Resource-wise it's as lean as host-based blocking, but its blocking is much finer grained than hosts-based, and doesn't require root. It does still lose from (desktop) ABP and uBlock in ad-blocking capacity, but uBlock isn't available on Android and I'm not a fan of ABP's methods (neither the technique of their Android solution nor their philosophy). So I'd put it squarely in the middle between hosts-based and the better known extensions.
What are the drawbacks?
Google did state the current Android source for Chromium is missing some codecs and other proprietary stuff. I haven't run into anything major, but you certainly might.
Will you support this?
Not officially, no. I built this for me, and it works on the sites I frequent. I'm just sharing it here so you can use it if you want to, or not if you don't. I may update it to newer sources once every while, or I might not. If it doesn't work for you on some site, just open it with regular Chrome.
That being said, it seems the Chromium source is not updated all that often, so if I update this once every few months you still wont be far behind. Not to mention that the sauce for my modifications are actually in the download folder, so you could build your own update if you wanted to.
And you are?
A dev from here on XDA who doesn't want his main account publicly associated with this, because I don't want to deal with possible retaliation from Google. Some of the site leadership know who I am, though. If this were malware, they'd take it down instead and tell everyone. If you don't want to trust me, sauce is available. If you can guess or know who I am, kindly STFU.
Download
Behold the glorious download links, for they are shiny and full of Chrome.
v51.0.2695.0 @ MEGA
Code:
ef337bce4e06b50d7c551f9940a9361f NoChromo-arm32-v51.0.2695.0.apk
d16bc732ae9b89bb50e3ba4ea421842d NoChromo-arm64-v51.0.2695.0.apk
4b28f614acb2f7e3e5d87502eeb621d9 NoChromo-mips32-v51.0.2695.0.apk
c2ec836cb94e18caaa905d88067b1322 NoChromo-x64-v51.0.2695.0.apk
bb440a9a582ac00d9ad9dd55ca49cb6c NoChromo-x86-v51.0.2695.0.apk
be3a25f8f52992df313881e186c5403d sauce-v51.0.2695.0.zip
(mips64 version does not currently build)
(Mirrors welcome, but please make sure to list the exact version numbers as stated here!)
The arm64 version is also available from the XDA Labs app!
Credits
Chromium contributors
AdBlock Plus
uBlock
EasyList and EasyPrivacy
MalwareDomains
Peter Lowe's Adservers
Changelogs
2016.04.05 - v51.0.2695.0
2015.06.09 - v45.0.2420.0-2
InstaDownloadAndInstallAndOpenAndUseAnd ... Yay! No ads!
BTW, your main account name is (j*****)
And also, please alternative links? If I don't use VPN, MEGA returns Server Not Found Error.
Thanks for sharing. I will definitely check this out.
+1×10^999999999 for that intro
Thanks OP, downloading now!
Your name shows in the "edited by" section of the post. great work though!
rjt.rockx said:
And also, please alternative links? If I don't use VPN, MEGA returns Server Not Found Error.
Click to expand...
Click to collapse
There you go:
Mediafire folder: https://www.mediafire.com/folder/80164iifzyp0s/NoChromo
Current ver: v58 by ponchofiesta
PS. Pm ME if there is new ver 2 upload.
Thanks.
Not working on Zenfone 2 551ML (amr32 not starting, arm64 not installing).
marcof93 said:
Not working on Zenfone 2 551ML (amr32 not starting, arm64 not installing).
Click to expand...
Click to collapse
Zenfone is x86.......
@nochromo : thanks a lot.
As you work on the source, can you tell us if this version can enable us to navigate more anonymously than the original Chrome ? There's still a request at start to connect to Google Account !?
@marcof93
Zenfone 2 551ML uses Intel Atom CPU which is not ARM.
nochromo said:
Behold the glorious download links, for they are shiny and full of Chrome.
Click to expand...
Click to collapse
Witness me!
Also, good job. Definitely not mediocre.
topjohnwu said:
Zenfone is x86.......
Click to expand...
Click to collapse
Intel Atom Z3580 is a 64bit processor, the Android version used in Zenfone 2 is a 32bit version, I tried both and shared my experience so the author can add this to the first post or work on it (also if he told that he doesn't want to support it).
@knot2006 I know, I want to help to community, now we know 100% that id doesn't work, I don't think I'm killing someone.
marcof93 said:
Intel Atom Z3580 is a 64bit processor, the Android version used in Zenfone 2 is a 32bit version, I tried both and shared my experience so the author can add this to the first post or work on it (also if he told that he doesn't want to support it).
Click to expand...
Click to collapse
x86 is microprocessor architecture look here:
http://en.wikipedia.org/wiki/X86
ARM:
http://en.wikipedia.org/wiki/ARM_architecture
lets try this browser for a spin
And, umm, after a few minutes of usage on Bluestacks, it gives " Unfortunately, #NoChromo has stopped. " every time I open it.
Tried clear data.
arm 32 !!1 arm64 ?? which one should i use ??
i have samsung s advance with cm12.1 lollipop .
Doesn't work for Ti-Omaps?
Force closes on my Droid RAZR xt912 which is Lollipop 5.1.1 which has a Ti Omap 4430 32bit Arm-A9, works on my Galaxy s3 which is also Lollipop 5.1.1 so I thought it might just not work on Lollipop but maybe its just Ti Omap is just too outdated?
Works and does what it says on the tin on my Xperia Z2 (ARM32 version)and it's taken a long time to get something like this.

WireGuard Kernel/ROM Integration

WireGuard is a next generation secure VPN tunnel for the Linux kernel, with modern yet conservative cryptography and simple design principles. It is meant as a replacement for OpenVPN and for IPsec, and generally has better performance and security characteristics than both. It also is much easier to use. The whitepaper was peer reviewed for NDSS17 and the protocol itself has been formally verified. Since it lives in the kernel, it not only is very fast, but it is able to integrate in clever ways that are quite nice for battery life and overall smoothness. There are already commercial VPN providers offering services using WireGuard, and it is very easy to run your own WireGuard servers as well.
Not only is it free software, but WireGuard also comes with free stickers. Send me a DM with how many you want and to where I should send them, and I’ll drop an envelope in the box. (Do not request stickers on the mailing list.)
But WireGuard being awesome is old news. The new news is that now there’s an easy way to integrate it into Android kernels.
WireGuard runs on ordinary Android devices, but ones that have the special WireGuard kernel module will have numerous advantages. That is the topic of this thread. The main interest here in XDA Land is in making the kernelspace version readily available to kernel/ROM devs, which has the best possible performance, battery life, integration, and stability.
Adding to Kernel Trees
If you maintain your own kernel, you may easily patch your kernel tree to support WireGuard with the following commands:
Code:
$ curl https://data.zx2c4.com/wireguard-android-kernel-patcher.tar.xz | tar -xJf -
$ wireguard-android-kernel-patcher/doit.bash path/to/kerneltree
This will patch your kernel and create a commit or a series of commits for you.
Everybody: Download the App
The Android GUI app will opportunistically use the kernel component if it's available (patched in using either one of the two methods above), and will then fall back to the userspace implementation otherwise.
Getting Support
Ask or help on IRC in #wireguard on Freenode. DO NOT ASK FOR USER SUPPORT IN THIS THREAD. Devs only, please. User help is on the IRC channel.
XDA:DevDB Information
WireGuard, Kernel for all devices (see above for details)
Contributors
zx2c4
Source Code: https://www.wireguard.com/
Kernel Special Features: WireGuard kernel module integration
Version Information
Status: Release
Created 2017-11-28
Last Updated 2020-12-05
This post formerly had a list of an incredible amount of ROMs and kernels with WireGuard baked in. But by now, so many kernels have WireGuard that it became impossible to keep track of.
You can check if your current kernel has WireGuard by downloading the WireGuard app and looking at the settings panel. If it says "kernel backend", you have WireGuard in your kernel. If it says "userspace backend", you do not have WireGuard in your kernel.
Reserved
It is meant as a replacement for OpenVPN and for IPsec, and generally has better performance and security characteristics than both. It also is much easier to use.
Click to expand...
Click to collapse
Have you been in contact with devs behind DD-WRT, AsusWRT-Merlin, Tomato, etc. to help them integrate it into their router firmwares? I'm interested in the improved security, but it won't be easier than OpenVPN for a lot of people until it's baked into their router.
giltwist said:
Have you been in contact with devs behind DD-WRT, AsusWRT-Merlin, Tomato, etc. to help them integrate it into their router firmwares? I'm interested in the improved security, but it won't be easier than OpenVPN for a lot of people until it's baked into their router.
Click to expand...
Click to collapse
As far as router firmware goes, in addition to the ordinary Linux distros, it's also integrated into OpenWRT/LEDE and EdgeOS. I haven't talked to the DD, Merlin, and Tomato people yet though. That's a good suggestion.
I'm trying to add wireguard to my rom. (ViperOS for Land aka Redmi 3S).
Got this error
FAILED: patch-wireguard
/bin/bash -c "(ln -vsfT \"\$(realpath --relative-to=\"kernel/xiaomi/msm8937/net)\" \"kernel/wireguard/wireguard/src\")\" \"kernel/xiaomi/msm8937/net/wireguard\" ) && (grep -q wireguard \"kernel/xiaomi/msm8937/net/Makefile\" || sed -i \"/^obj-\\\\\\\$(CONFIG_NETFILTER).*+=/a obj-\\\$(CONFIG_WIREGUARD) += wireguard/\" \"kernel/xiaomi/msm8937/net/Makefile\" ) && (grep -q wireguard \"kernel/xiaomi/msm8937/net/Kconfig\" || sed -i \"/^if INET\\\$/a source \\\"net/wireguard/Kconfig\\\"\" \"kernel/xiaomi/msm8937/net/Kconfig\" )"
/bin/bash: realpath: command not found
ln: failed to create symbolic link ‘kernel/xiaomi/msm8937/net/wireguard’ -> ‘’: No such file or directory
Ful log here https://hastebin.com/tegecuzeke.tex
dineshthangavel47 said:
/bin/bash: realpath: command not found
ln: failed to create symbolic link ‘kernel/xiaomi/msm8937/net/wireguard’ -> ‘’: No such file or directory
Click to expand...
Click to collapse
The issue is that you don't have `realpath(1)` installed. This is usually a standard part of every linux distribution, and comes in coreutils, since 2011.
In case you're using some ancient distro, I've added a workaround:
https://git.zx2c4.com/android_kernel_wireguard/commit/?id=3736a04ff5cf00d5d07e3e9f33438fbf83dc2401
Try `repo sync` and then see if things work for you.
It will be interesting to see how this goes.
zx2c4 said:
As far as router firmware goes, in addition to the ordinary Linux distros, it's also integrated into OpenWRT/LEDE and EdgeOS. I haven't talked to the DD, Merlin, and Tomato people yet though. That's a good suggestion.
Click to expand...
Click to collapse
I think it might be impossible on some due to old kernel. On my Asus RT-AC68U running the latest AsustWRT-Merlin build, the kernel is: Linux version 2.6.36.4brcmarm ([email protected]) (gcc version 4.5.3 (Buildroot 2012.02) )
Skello said:
I think it might be impossible on some due to old kernel. On my Asus RT-AC68U running the latest AsustWRT-Merlin build, the kernel is: Linux version 2.6.36.4brcmarm ([email protected]) (gcc version 4.5.3 (Buildroot 2012.02) )
Click to expand...
Click to collapse
Indeed some devices have simply too old kernels, but many other devices have kernels ≥3.10, which is from 2013.
zx2c4 said:
The issue is that you don't have `realpath(1)` installed. This is usually a standard part of every linux distribution, and comes in coreutils, since 2011.
In case you're using some ancient distro, I've added a workaround:
https://git.zx2c4.com/android_kernel_wireguard/commit/?id=3736a04ff5cf00d5d07e3e9f33438fbf83dc2401
Try `repo sync` and then see if things work for you.
Click to expand...
Click to collapse
Thanks. Will try and report.
dineshthangavel47 said:
Thanks. Will try and report.
Click to expand...
Click to collapse
By the way, usually the best way to debug things and work out problems is the #wireguard channel on Freenode, where we can exchange in real time. Feel free to poke us there.
Hi,
Nice! Although this is complete Chinese for me i will test laters today. I signed up for the beta on Play and i am a Mullvad user which has Wireguard servers (experimental though). I will try later today and report back if i could get it working. Hopefully its not too soon for this question: will it in future be possible to exclude app from VPN usage. I had problems before with: my banking apps didn't like exotic ip adresses. English is not my native language but as i understand correctly: it can work without a kernel who has this implemented, right?
Droidphilev said:
Hi,
Nice! Although this is complete Chinese for me i will test laters today. I signed up for the beta on Play and i am a Mullvad user which has Wireguard servers (experimental though). I will try later today and report back if i could get it working. Hopefully its not too soon for this question: will it in future be possible to exclude app from VPN usage. I had problems before with: my banking apps didn't like exotic ip adresses. English is not my native language but as i understand correctly: it can work without a kernel who has this implemented, right?
Click to expand...
Click to collapse
If your kernel doesn't have the WireGuard implementation... You can't use it.
dineshthangavel47 said:
If your kernel doesn't have the WireGuard implementation... You can't use it.
Click to expand...
Click to collapse
Ok thanks,
i was refering to this:
"Work continues on making a userspace version of WireGuard that will allow folks to run on normal ROMs without kernel support. This is coming along nicely..."
and this:
"The Android GUI app, which is currently in development, will opportunistically use the kernel component if it's available, and will then fall back to the userspace implementation otherwise. "
So you mean it's not possible *yet*? There's no use for me to start testing if it's not implemented yet of course
Droidphilev said:
Ok thanks,
i was refering to this:
"Work continues on making a userspace version of WireGuard that will allow folks to run on normal ROMs without kernel support. This is coming along nicely..."
and this:
"The Android GUI app, which is currently in development, will opportunistically use the kernel component if it's available, and will then fall back to the userspace implementation otherwise. "
So you mean it's not possible *yet*? There's no use for me to start testing if it's not implemented yet of course
Click to expand...
Click to collapse
User space implementation is not complete yet. I guess...
dineshthangavel47 said:
User space implementation is not complete yet. I guess...
Click to expand...
Click to collapse
Your guess was right my friend. After trying to enable the app i get a warning that, for now, a patched kernel is needed. Thanks for your help!
Hi
Using this on my linux laptop and it seems to work great. however I cant seem to to get it to work on my phone. its sultaanXDA linage for 1+3t and it is supported. I would really like a noob friendly setup guide for the android GUI app. Im using azireVPN
andersjohansson81 said:
Hi
Using this on my linux laptop and it seems to work great. however I cant seem to to get it to work on my phone. its sultaanXDA linage for 1+3t and it is supported. I would really like a noob friendly setup guide for the android GUI app. Im using azireVPN
Click to expand...
Click to collapse
Yes. Sultan's OP3T image is supported.
christantoan said:
Try running this script with "sh script-name.sh" (as root probably) and you should get several configuration files in sdcard/Download/wireguard that you can import in the app. I'm not azireVPN user so I'm not sure this will work but I have tried the same trick (all I change is where the script save the downloaded config files) with Mullvad VPN with success.
Anyway, does anyone know how to allow local network traffic when using Wireguard (or it depends on the config file)? I cannot access local network resources when it's active. Thank you.
Click to expand...
Click to collapse
Funny, I made essentially the same modification to the script too, for the purposes of making new configs for my phone. You might want to remove the `exec sudo` line at the top, now that it doesn't actually need root. Other than that, the modification looks good.
Local network access is permitted by the default wg-quick(8) stuff on ordinary Linux. But it looks like there might be some special things needed with ndc on Android for pass through. I'll have to look into this. Thanks for the suggestion.

Wayland server for Android

ABANDONED
Hi! Does anyone here use Linux desktop distributions in chroot environment on Android device?
I am developing wayland protocol server for Android devices. If anyone is interested in checking my project, latest version of apk is always available here:
ftp://ftp.drivehq.com/mogryph/sparkle/
Currently I am only focused on running Xwayland as client. Also apk supports audio output.
Simplest instruction:
1. Android 6 or newer required, busybox required, root required
2. Prepare linux distribution in directory, image or on partition. Make sure you have Xwayland installed in it. Make sure you specify which DE to run (or at least xterm) in ~/.xinitrc
3. Install and start sparkle.apk
4. Press "edit user.sh", uncomment (remove #) line starting with start_generic_container. Change rest of this line to match your device:
first arg - image or partition where distribution is installed. If distribution is installed in directory and mouting is not needed, leave this arg unchanged.
second arg - mount point or directory with distribution. If you use mounting (first arg), this arg can be left unchanged.
third arg - name of the user which will be used to start Xwayland and DE. Its better to specify non-root. Also this is the user who must have .xinitrc in his home dir (see step 2).
5. Save user.sh and click "Start".
6. Any problems and crashes will be reflected in the log.
If you want audio output:
1. Compile and install driver from pcm_sparkle.tar.gz in your distribtion
2. cp 1.asoundrc ~/.asoundrc
If you have blinking problem, change upload_mode from 1 to 2 in settings. If you have bad performance, setting no_damage to true may help, but in most cases no_damage=false is better. Fastest upload mode is 0 (if it works).
If you don't trust me and don't want to give sparkle root permissions (I perfectly understand this) you don't have to. Also you can do without busybox.
But in this case, you need to understand and do a lot of things. Check sparkle's user.sh to get idea about what needs to be done. Basically:
1. You need to make /data/data/com.sion.sparkle/files accessible from inside chroot container. You can use bind bound.
2. Make sure you have tmpfs mounted over /tmp in container.
3. You may need to change selinux context on /tmp to match sparkle's context or disable SELinux.
4. You need to create new directory in /tmp, symlink sparkle's wayland socket from /data/data/com.sion.sparkle/files/wayland-0 to this dir. And export XDG_RUNTIME_DIR to point to this dir. Dir must be (ch)owned by user who will be running Xwayland and DE.
5. After all this, you can try to start Xwayland and your DE.
new version
New version
rgho.st/8Fbz64Rxj
Added x86 and x86_64 support. Actually it is rewritten almost from scratch but x86 support is the only thing others can notice...
Hello! This project is interesting. I tried you app and it works on my Xiaomi Redmi Note 4X(chromium and glmark from chrooted environment works very well)! Can you publish source code on Github, because it really interesting project?
Also I'm interested, please post it on github!
Did you put this up on github or move this thread? Looks very interesting.
1
Argh, sorry, I decided to abandon this project. You are free to delete thread. Also no copyleft-licensed components were used so I don't have to bother releasing sources.
Hentacler said:
Argh, sorry, I decided to abandon this project. You are free to delete thread. Also no copyleft-licensed components were used so I don't have to bother releasing sources.
Click to expand...
Click to collapse
Check your PM please!
1
Hello again.
For last two weeks I was rewriting it from scratch (yes. again... yes, third time).
Probably need another week to make it stable.
Currently I am not sure it runs on any device except my own 5-year old phone (LineageOS 14).
I will maintain last version here:
ftp://ftp.drivehq.com/mogryph/sparkle/
There is no English documentation, but you can see script "user.sh" to get idea about how to start xwayland. In most cases it should be enough to edit few lines in that script to make it work on another device. If you execute this script on your device with "install" argument, it is supposed to place itself into sparkle's directory and sparkle is supposed to run it ("start" function) automatically. Sparkle doesn't request root unless script does.
Here is video of sparkle working:
https://www.youtube.com/watch?v=tOSFYxCF7Q8
But it seems that KDE + video recording was too much for my old phone
Still, if you going to see video, don't close it until 2:00 where I turned of composition which caused lags.
Also on device everything looks much smoother than on video, even after 2:00.
When I watch fullscreen (1280x720) video on my device, sparkle + xwayland together add just 5% of CPU load (20% load of single core).
Thats it I guess... I tried to to discuss sparkle on 4pda.ru (russian forums), but got very bad reception. "xsdl is perfect, dont reinvent the wheel" they say. So I started to hate humanity and I decided to make sparkle personal project. Also this is last time I am solving reCAPTCHA to leave post on XDA.
Still alive
We are still alive. I've changed first post to reflect actual state. Now sparkle supports audio, auto-mouting containers and is lot more stable.
Yet there are still many things I want to improve in sparkle's core before adding new functions.
Also there are few demo videos on ftp.
Amazing!
Working great on my redmi 6 pro. Stock miui 9.9.3 rom. With linuxdeploy and sparkle from your ftp. No lag on visual and sound. My Linux distribution is alpinelinux arm64 arch.
Since first time I see your posting on 4pda. I'm interested in it. And finally it's on xda.
Thanks dev.
---------- Post added at 02:52 AM ---------- Previous post was at 02:44 AM ----------
For anyone interested in the topic. Please follow the instructions in documentation from ftp. And Translate it to eng from rus.
This sounds amazing! Just curious, is it related to https://github.com/twaik/sparkle ?
I now have it working very well on my Samsung Tab S3 using Xwayland and a tiling window manager. Firefox runs amazingly well!
Is it meant to be used only with Xwayland or will it also work with native Wayland applications?
BTW, I think if you open sourced this project and promoted it a bit, it could become quite popular. It's basically the first way to run X11 GUI applications on Android devices at full speed. If you set up a donation link, you could also get compensated for your time and effort. I'll personally contribute $20 if it's open sourced, and I'm sure others will chip in as well.
robsmith11 said:
This sounds amazing! Just curious, is it related to https://github.com/twaik/sparkle ?
Click to expand...
Click to collapse
Thanks for feedback. Nice to hear that someone managed to start this thing
Twaik's repository is clone of my very very old version of sparkle. I made that version years ago when I was just starting to learn linux and C++. Sparkle was rewritten from scratch two or three times since that version. And (I believe) current version is much better.
Regarding making it open source... Few months ago I had to find real job. Can't spend much time on personal projects any more. But I have my own strange programming style and my own vision of what sparkle should be. Not sure I want others to paint on my picture. It's probably all because of Twaik! I hate how he used old open source version of sparkle. He did terrible things to it, outraging all my beliefs Sorry!
P.S.: Yesterday I've uploaded another apk to my ftp. The file is called "sparkle-testing.apk". This version is much newer and has many fixes. But I've also changed to many things since tested version including some fundamental changes. No guarantee it will run at all on other devices. Interest is mega low and I get no test reports at all.
Hi Hentacler, I've just found your project - it looks really promising. Unfortunately, the only link currently working on this thread is to github. Is this project still live?
I have a samsung galaxy note 10+, and am using it as a laptop replacement. In addition to the android apps using Samsung Dex (Samsung's desktop solution), I have several linux distributions installed inside a chroot using userLand - so far, its working great. I'd be keen to give you project a try if it's still live, and am happy to help out with testing from my device.
Re open source - while I like your project, I'm not super interested in investing time into something that's not open sourced - I appreciate your concerns about wanting to maintain the direction, but having transparent development is pretty important to me. Is Twaik's fork of your project a better place to go?
Cheers.
tillum said:
Hi Hentacler, I've just found your project - it looks really promising. Unfortunately, the only link currently working on this thread is to github. Is this project still live?
I have a samsung galaxy note 10+, and am using it as a laptop replacement. In addition to the android apps using Samsung Dex (Samsung's desktop solution), I have several linux distributions installed inside a chroot using userLand - so far, its working great. I'd be keen to give you project a try if it's still live, and am happy to help out with testing from my device.
Re open source - while I like your project, I'm not super interested in investing time into something that's not open sourced - I appreciate your concerns about wanting to maintain the direction, but having transparent development is pretty important to me. Is Twaik's fork of your project a better place to go?
Cheers.
Click to expand...
Click to collapse
ftp://ftp.drivehq.com/mogryph/sparkle/
Link to FTP should work and there you can get two versions:
sparkle.apk - old version, but confirmed to work by 3-4 people.
sparkle-testing.apk - latest version, but only briefly tested by me.
I don't ask anyone to invest anything... Sparkle doesn't request root access or any other dangerous permissions (unless you enable automatic container mounting and starting) so it's safe to try for anyone who wants.
Btw, somewhere between these two versions I've replaced BASH container initialization script with LUA version. That was probably a bad idea. LUA script is harder to start directly as root and hacks I used may not work (currently may even cause application freeze if root access is denied). Going to revert to BASH probably. But this only touches people who want sparkle to mount container and launch everything automatically on single button press.
p.s.: Why I need to solve captcha every time I post something?
Thanks for the new release! I've updated and everything seems to be working without any changes on my Samsung Tab S3 with chroot and Arch Arm Linux.
Your changes also solved the flickering for me! The old version would flicker the screen whenever my keyboard's trackpoint activated, but it's not flickering at all any more. Performance seems to be about the same.
I think this could be quite popular, but not many people know about it. Perhaps a post on Hacker News or Reddit would raise awareness.
I understand your position on open source and maintaining control. One idea if you haven't already considered it is releasing the code with a restrictive license that forbids any forks. But either way, I'm enjoying being to properly use X11 on my tablet.
BTW, have you tried any native Wayland compositors? I don't really understand the Wayland ecosystem that well. I gave Sway a brief try, but it didn't seem to work. I've only been using XWayland.
@Hentacler Thanks for your reply! Very keen to get this working, but having a few issues. I'm unsure how to configure the user.lua file - I'm using your latest apk.
I have a non-rooted device, and am running archlinux under termux. Works fine with xsdl. I have installed xorg-server-wayland for X11. I'd appreciate any advice you have.
@robsmith11 Are you able to share how you got this working on Arch? Thanks!!!!
tillum said:
@Hentacler Thanks for your reply! Very keen to get this working, but having a few issues. I'm unsure how to configure the user.lua file - I'm using your latest apk.
I have a non-rooted device, and am running archlinux under termux. Works fine with xsdl. I have installed xorg-server-wayland for X11. I'd appreciate any advice you have.
@robsmith11 Are you able to share how you got this working on Arch? Thanks!!!!
Click to expand...
Click to collapse
I am not sure it is possible to use sparkle without root...
Sparkle makes it's directory accessible for everyone (chmod 777). Before Android 8 or 9 this was enough and xwayland from termux was able to connect to sparkle. Here is how people used to start it:
export XDG_RUNTIME_DIR=/data/data/com.sion.sparkle/files
Xwayland
But newer versions of Android brought more restrictions and termux can no longer connect to sparkle. These new restrictions are implemented using SELinux if you know what it is. Applications now have different security contexts.
But that is not all. Newest versions of android brought even more terrible meaningless restrictions effectively "killing" applications like termux and many others.
In short, from now one applications are not allowed to execute code (binary) that comes from "untrusted" sources. Termux used to download a lot of such code from it's own repositories. And now it can't. We can't even unpack binaries from assets.
So I can only help with rooted devices.
P.S. Please forgive me, but I am leaving this website. Making people solve recaptcha every time they want to post something is unacceptable level of contempt.
My mail: [email protected]
Thanks for that, will have a play. I could always just root my device. Weird about recaptcha, not having this issue. Currently through termux I have access to the whole sdcard, and am able to download packages (and distros) in it - will have a play and see what else is possible.
@tillum
I basically just followed the instructions on the first post for using Sparkle without busybox. I didn't need to modify the Lua scripts.
I'm guessing SELinux may be a problem without root. I'll try setting it up without root when I have a chance later.

Categories

Resources