Wednesday, November 1, 2017

Android Things at DroidconUK 2017

This year at DroidconUK 2017, there were a vast array of booths to visit and check out, which included the Android Things booth! For those unfamiliar with Android Things, it's Google's Internet of Things platform, a consumer extension of what Brillo was. Internet of Things (IoT) refers to regular devices given internet connectivity and computational abilities. Over at the booth, they had set up a device which scans your face from its camera and prints the facial features made entirely out of black, spaced lines. Not only that, we interviewed the Android Things representatives at Droidcon, which you can check out down below on the XDA-Developers YouTube channel!

Android Things is just a new extension of Android for the platform to expand to new devices with new form factors, like Android TV or Android Auto. With it comes the usual stuff you can expect from Android, including debugging commands and Android application support – along with some nice sample applications on GitHub. The focus is more about developers building their own devices, however, we learn that dev kits can also be bought by developers who wish to prototype their software before eventually taking that concept and turning it into a product.

They also ran a workshop at this year's Droidcon2gether Hackathon! They taught the basics of interacting with an Android Things IoT device, providing one for all registered attendees to the workshop for free. Attendees quickly got to work.

droidcon2gether android things

Armed with Android Studio, a factory image flashable via fastboot, and the knowledge of the excellent presenters, the people quickly learned how to program their Android Things device to interact with the world around it. Attendees learned a lot about the devices they were given, and by the end of the two-day workshop were considered to be somewhat proficient with programming for Android Things devices. You can purchase a similar device to what was given out here if you're interested in programming one yourself! You can check out our recaps of this year's Droidcon UK of day one and day two as well!



from xda-developers http://ift.tt/2A79AbM
via IFTTT

Here’s how to Force Enroll in the Android Oreo Beta for Samsung Galaxy S8/S8+

Perhaps the most popular Android smartphone series this year, the Samsung Galaxy S8 and S8+ brought a lot to the table. The latest Samsung flagships weren't the first phone to sport a nearly bezel-less design, but they certainly made it imperative for other manufacturers to follow suit if they wanted to remain competitive design-wise. The Galaxy S8 pair launched with Android 7.0 Nougat on board, but ever since Android 8.0 Oreo was released users have wondered when their phones would receive the update. There have been rumors such as APK teardowns of the latest Samsung+ app but the only objective proof that the beta program exists was posted today via a Redditor who obtained access to the build.

Install Samsung Galaxy S8 Android Oreo Beta Install Samsung Galaxy S8 Android Oreo Beta Install Samsung Galaxy S8 Android Oreo Beta Install Samsung Galaxy S8 Android Oreo Beta Install Samsung Galaxy S8 Android Oreo Beta Install Samsung Galaxy S8 Android Oreo Beta Install Samsung Galaxy S8 Android Oreo Beta Install Samsung Galaxy S8 Android Oreo Beta Install Samsung Galaxy S8 Android Oreo Beta

The users who discovered this trick have been rather secretive with regards to how they got access to the Android Oreo beta for the Samsung Galaxy S8/S8+, but we now know how they did so thanks to XDA Senior Member mweinbach. Here is a tutorial on how to forcefully enroll your Samsung Galaxy S8/S8+ to the Android Oreo beta with Samsung Experience 9.0.


Tutorial – Enroll in the Android Oreo Beta for the Samsung Galaxy S8/S8+

The following tutorial is not that simple, but we will provide two ways to do this in case on method doesn't work. There's also no guarantee you'll get in since there are 10,000 slots and Samsung could patch this method at any time. They could also kick you out of the beta program so you won't receive future beta OTAs. Try this at your own risk.

Requirements:

You will need one of the following:

  • Snapdragon T-Mobile Samsung Galaxy S8/S8+
  • Snapdragon Sprint Samsung Galaxy S8/S8+
  • Carrier unlocked Samsung Galaxy S8/S8+ purchased directly from Samsung

Method 1 – Automated Batch File

  1. On your phone, install the latest Samsung+ app here.
  2. Download the following zip file and unzip the contents.
  3. Click on start.bat.
  4. Figure out the local IP address of your PC (easiest way is to open up the command prompt and type "ipconfig")
  5. Go to the WiFi Settings on your Galaxy S8/S8+ and long press on the currently WiFi network. Tap "manage network settings" then "show advanced options."
  6. Under the Wireless LAN Adapter part, set your PC's IP address as the proxy server. For the port, enter 8888.
  7. Open up the Samsung+ app and you should see a prompt telling you that you are eligible to enroll in the beta!

Method 2 – Fiddler

  1. On your phone, install the latest Samsung+ app here.
  2. On your PC, install Fiddler.
  3. Go to Tools –> Options –> Connections
  4. Make your settings look like the following pictureInstall Android Oreo Beta on Samsung Galaxy S8
  5.  Next, open the command prompt (type "cmd" in run)
  6. Type "ipconfig"
  7. Go to your WiFi Settings on your S8/S8+ and long press on your currently connected WiFi network. Click "manage network settings."
  8. Tap on "show advanced options."
  9. Change the proxy to "manual."
  10. Under the Wireless Lan Adapter, enter the IPV4 address of your PC under the proxy host name.
  11. Make the proxy port 8888 (this is the port that Fiddler listens on).
  12. Open Samsung+ on your phone and go back to the Fiddler program on your PC.
  13. On the left side there should be a file containing text that looks something like http://ift.tt/2z75oZy
  14. Right click it –> save –> response –> response body and save the file
  15. Locate the file you just saved and open it up in a text editor.
  16. Find the "feature_obeta_program" line and change the value from "false" to "true"Install Android Oreo Beta on Samsung Galaxy S8
  17. In Fiddler, file the file named http://ift.tt/2z75oZy again and note that it should be clicked. Open the AutoResponder tab and make the tab look like this image Install Android Oreo Beta on the Samsung Galaxy S8
  18. Tap on "Add Rule" and under rule editor at the bottom locate the config.json file you edited.
  19. Click save. Now open up the Samsung+ app and you should have access to the Android Oreo beta!

Try this out and let us know if it works for you. Samsung will likely very quickly patch this, so you really have no time to spare if you want to immediately enroll in the Android Oreo beta for the Samsung Galaxy S8 or S8+!



from xda-developers http://ift.tt/2zYoX5b
via IFTTT

Interview with Flar2, Developer of ElementalX Kernel Part 2: Android Bottlenecks and Personal Life

I recently got to interview flar2, the man behind the famous ElementalX kernel, and his even more popular ElementalX Kernel Manager application. He has released a version of his kernel for a vast array of devices, including OnePlus and Nexus devices.

In this part, we ask about flar2's thoughts on Android performance bottlenecks and more about his personal life! You can check out part 1 of this interview here.


What is the largest bottleneck on Android in terms of performance?

Almost any phone you can buy today is smooth and fast enough.  Even the cheaper phones like Redmi Note 3 and Moto G series perform very well for most use cases. For quite a few years, storage has been the biggest performance bottleneck in computing. And thermal throttling has been a major limiting factor on phones, especially for gaming. But storage has improved and chips have become a lot more efficient, so I think the bottleneck of the future is network speed and bandwidth and availability. We deal with massively increasing amounts of data and eventually, everything will be in the cloud. Users will want their high-res photos and high-def video and music instantly wherever they are.  They'll also want to upload and share things instantly.  Right now, depending on where you are, networks speeds are very inconsistent. Some networks are already very fast, some are horribly slow.  In Canada (where I live), there are still areas without high-speed Internet and areas where there is no cell signal at all. Then there are data caps and huge overage fees.  This makes bandwidth, speed and availability the limiting factors on how many people use their phones.

As you said, phones are becoming smooth and fast enough, and what you said about bandwidth and network speed is very true, but still, there are efforts to improve system performance further – EAS being one of the major efforts. What's your opinion on this and other changes?

When you look at the hardware side, there have been gains in efficiency over the past couple years. Look at the thermal problems of the Snapdragon 810 compared to this year's 835. With the 810, I wasn't sure that it would ever be possible to have 8 cores in such a tiny package without heat problems, but the 835 shows it is possible.

EAS is a worthwhile project, but we're talking about eking out the last couple percent of efficiency. A comparison would be the 2016 Google Pixel, which uses EAS/sched governor, compared to the HTC 10 and OnePlus 3/3T using HMP/interactive, all based on Snapdragon 820/821. I have each of these devices and found them all to have excellent battery life and smoothness, but the Pixel seems to be a bit smoother and has a slight edge in and battery life with the screen off. I still use last year's Pixel XL as my daily driver, even over the OnePlus 5 and HTC U11.  But I didn't try to port EAS to any devices. I think to realize the benefits of EAS you need to have very tight integration with userspace and detailed hardware profiling. I don't build ROMs and don't have the time or equipment for proper testing to implement it properly. Google's engineers are much better than me.

There will always be room for incremental improvements on the software side. Part of it is continual improvement of the Android UI (and here Google and HTC stand out for emphasizing a smooth UI experience) and system (e.g. ART, binder) and part is apps taking more advantage of multithreading and optimizing code. I look at my own apps and I've written my share of embarrassing code. Finding time to do things right is always a problem. If you compare EX Kernel Manager 2.xx to the newer 3.xx versions, it is much, much faster and smoother now. This is due to better handling of threading, but it required major refactoring of the code, which had become very bloated as more and more features and settings were piled on top of each other. You can see Google is taking steps to promote better-coded apps, for example, with changes to how background work is handled on the latest API. I think you will eventually see poor-quality apps getting booted from the Play Store.

You mentioned having a doctorate in sociology! What lead you towards that? Has that helped in any way for your development work?

I originally wanted to be a university professor, but by the end, I couldn't stand academia, so I left. I still consider myself a sociologist and I'm active in social research, particularly in the area of homelessness, where I've published some important work. It definitely has helped for my development work. Doing a PhD involves discipline and working independently.  From that experience I've learned how to start a big project, stay on track and complete it. I also learned how to design rigorous methodologies to evaluate and measure things. I take this approach for kernel development, carefully measuring and testing, which has allowed me to maintain high quality and consistency.

Are there any other hobbies that you've turned to? You've mentioned being in a band, are you still interested in music in any capacity?

I never sit still, so I always have a few hobbies on the go.  I haven't played much music in the past few years because I've been spending all my time on work and Android stuff, but I'm hoping to get back into it someday. When I was very young, I was an audiophile and spent a lot of time designing high-end speakers. That was fun and allowed me to work on my engineering and design skills. I experimented with a lot of unusual designs like transmission lines and Voigt pipes, focusing on phase accuracy for a realistic soundstage and sense of immediacy. Photography is another serious hobby of mine. I love visiting cities and photographing architecture and urban scenes but it's another thing I haven't had time for in the past few years. There's an easter egg in EX Kernel Manager that shows some random bits of my photography.  A few people have found it.


Check out Part 1 of this Interview!



from xda-developers http://ift.tt/2z5blWL
via IFTTT

Interview with Flar2, Developer of ElementalX Kernel Part 1: Origins, Kernel Development and Android Changes

I recently got to interview flar2, the man behind the famous ElementalX kernel, and his even more popular ElementalX Kernel Manager application. He has released a version of his kernel for a vast array of devices, including OnePlus and Nexus devices.

In this part, we ask about flar2's thoughts on Android performance bottlenecks and more about his personal life! You can check out part 2 of this interview here.


Hey there! Introduce yourself first of all before we get down to the questions.

My name is Aaron Segaert, also known as flar2.  Most people know me as the developer of ElementalX kernel.  I also have a few apps.

Had you any experience with computers and development beforehand? Like a computer science degree or something?

I started off with computers when I was very young.  My first computer was a Texas Instruments TI-99/4A.  I learned how to code in BASIC and saved my programs on a cassette tape (yes, I'm old).  Then our family bought a 286 IBM clone, and I got away from coding at that point because this was before the Internet was widely known and I didn't have any resources or even know anyone else who had a computer. I started computer science at university, but I flunked out in first year. I never really went to class because I was too busy having fun and playing gigs with my band. Later I returned to school and obtained a doctorate in sociology. During my time as a student, I became interested in Linux and open source but never got into much serious programming.  I contributed minor bits here and there, but mostly just made scripts and small programs for my own purposes. I probably built my first Linux kernel around 2002.  At the time, I wasn't writing my own code, only experimenting with different patches and build options to boost performance. I was more into building computers, overclocking and generally trying to make hardware do things it wasn't supposed to.

Has any development other than Android app development and kernel development interested you?

Not really, I've found good tools available for almost everything I've needed to do on computers. The reason I started working on kernels and apps for Android is because I felt there was a need for certain features and room for improvement on the existing tools. For example, I made Button Mapper because I wanted the home key on Samsung phones to do more, and I didn't like the reversed back and recents keys. I made DevCheck because other system info apps didn't show the info I wanted to see in a clear and concise way. ElementalX kernel adds new hardware features and EX Kernel Manager controls those features and adds some tools I use to make development easier. I like to solve problems and it's a fun challenge to reverse engineer things or add new hardware features to a phone.

How did you come into contact with Android development, specifically kernel development? 

I always hated cell phones and resisted them for a long time. My wife and I shared a basic flip phone with a minimal plan that was mainly used for emergencies. In 2012, we had a fire at our home and were out for almost three months. All our utilities were cut off, and we decided not to reconnect our landline, so we got a smartphone, which was an LG P-something I think. I realized it was like a mini-computer and decided I needed my own mini-computer, so I bought an HTC One V.

Since I tinker and mod pretty much everything, I immediately discovered XDA and found that not only did Android phones run Linux, they could be overclocked. I've been a Linux user for a long time, so I forked one of the kernels and was hooked.  I soon got a cheap Acer tablet and started messing with that hardware and kernel because I wanted it to have USB OTG. Turns out the hardware wasn't capable, but that's how I started learning more about mobile hardware.  I never publicly released a kernel for the LG, Acer tablet or One V, but built my own kernels for each and installed custom ROMs, which were necessary in those days, since Android was not yet mature.

I soon outgrew the One V and traded up for an HTC One XL and that's when ElementalX was born.

What was the goal for ElementalX initially, and how has that changed in recent years?

The goal of ElementalX has always been to add useful hardware features, without compromising stability or performance, and release something that people can depend on to just work.  I always put stability first because I need my phone to be dependable.  No random reboots or things like the camera not working.  The philosophy has stayed the same over the years. I keep things simple and add hardware features that I find useful. Things like wake gestures, high brightness mode, vibration adjustment, sound control, support for more filesystems, joysticks, etc.

I work hard to keep my kernels up to date, easy to install and as broadly compatible as possible. Some users are disappointed that I don't add a lot of patches from CAF or upstream Linux, but my main goal is to deliver a very stable product with no weird issues. Many of my users are not people who post a lot on XDA, they are power users who have a specific need satisfied by a custom kernel, or people who occasionally like to tinker with their hardware but are not hardcore flashaholics. I want people who don't follow all the latest Android developments to be able to use ElementalX without issue.

There are plenty of other kernels that experiment with upstream patches.  In ElementalX, I use a carefully selected set of patches and optimizations. In my career outside Android, I measure things that are difficult to measure and use evidence to build policy and provide advice. I apply the same principles to kernel development and generally do not use patches unless there is a measurable benefit. The battery monitor in EX Kernel Manager is an example of this. It offers a way to objectively measure the effect of battery tweaks and kernel changes. The floating monitors in DevCheck are another tool I use for development, mostly for monitoring CPU frequencies and temperatures during different use cases like gaming or watching videos or web browsing.

How have changes in the last few years to Android affected your work?

Sometimes it's difficult to deal with the many security changes, but I understand them. If I'm not mistaken, Android is now more widely used than Windows, which makes it a target.  Bad people are going to use any angle they can to exploit Android users.

Preventing modification of the system partition is obviously key to protecting the integrity of a device. I remember when HTC starting doing this in 2012 or 2013 and it seemed like the end of the world.  At the time, writing to /system was needed for root, editing build.prop, installing privileged apps, removing bloatware and practically every popular mod. Many of the customizations at the time involved things like deodexing and modifying the framework. For a long time, no kernel source was available from HTC, so I made a kernel module to disable system write protection in the stock kernel, for which I first became well-known as a developer. But over time, as protections like verity became a standard part of Android, it forced innovation and better solutions like Chainfire's systemless root and now there is Magisk that does all kinds of things systemless-ly.

Another big one is SELinux, which caused a ton of apps to stop working.  Many users hated it and still to this day there are people who run with SELinux in permissive mode, which is a very bad idea. I would say SELinux is the single most important security feature of Android. To give an example of the importance of SELinux, when I first got the Pixel XL, there was no root available, but the Dirty Cow exploit was making news. I was eager to start kernel development, which means searching through or modifying sysfs files, which requires root. I compiled one of the Dirty Cow proof-of-concepts and was able to run commands as root, but SELinux prevented me from doing anything interesting. I had to modify the boot.img to make SELinux permissive.  I might have achieved full access without modifying the kernel, but it would have taken many, many hours.  All this to say, leave SELinux enforcing, it's the main line of defense against malware. Learn to use sepolicy-inject to change specific policies as-needed.

When Nougat came along, initially almost all of /sys and /proc became invisible to user apps. Root has always been necessary to make changes, but suddenly root was necessary simply to read /sys and /proc. There is definitely information in those filesystems that can be used to exploit a device, so it was necessary to add restrictions.  But there is also a lot of info that users should be able to see.  Why should root be required to see the current i/o scheduler, or GPU frequency, or the type of panel hardware? I had to make a lot of changes to DevCheck to deal with this, and a lot of users were confused about why information was no longer available after updating to Nougat. Eventually, some of the restrictions on sysfs paths were lifted.

Other than that, from an app development perspective, I like most of the API changes to Android, even though they force me to make a lot of changes to my apps. These changes are usually for the better.


Check out Part 2 of this Interview!



from xda-developers http://ift.tt/2z9UnZs
via IFTTT

XDA is Hiring a News Copy Editor!

The XDA Portal Team is looking for a new Copy Editor to join our continuously expanding Portal News Team. Working from home, you would report directly to our Editor in Chief and communicate with our staff, to assist with the editing, scheduling and publishing of news articles and ensure that our high standards of accuracy and quality are always met.

If you feel that you are up to the task and would like to start a new career with XDA, then be sure to fill out the form below. Applicants must be fluent in English and have above-average knowledge of the mobile industry, phone hardware, Android Software and our XDA forums. This is an hourly position, though case-specific arrangements can be made. Other requirements include:

  • Copy editing experience
  • Basic understanding of SEO and best practices
  • Knowledge of WordPress
  • Understanding of topics relevant to Android enthusiasts (rooting, custom ROMs, etc)

Loading…


Share this form with http://xda.tv/careers



from xda-developers http://ift.tt/2A6Aws1
via IFTTT

Samsung Galaxy S8 Android Oreo Beta Gets the Hands-on Treatment

We're starting to see more and more smartphone OEMs follow in the footsteps of Google and start performing their own beta test for the next version update of Android that they're working on. OnePlus just started testing Oreo for some of its phones, and Nokia also re-introduced Beta Labs Program for Oreo. Samsung also did the same last year with the Galaxy S7 and its Android 7.0 Nougat update; and they're doing the same this time around with the Galaxy S8 and its Android 8.0 Oreo update.

It was recently reported that Samsung was going to be deploying their Galaxy S8 Oreo beta program in two different phases. The first phase is said to include the United Kingdom, North America and South Korea while the second phase is said to be for China, Germany, Spain, France, Poland and India. It was rumored that the program would be launched on October 31st, and Samsung appears to have nailed that right on the head as we're seeing hands-on reports of the new update.

Reddit user thesbros was gracious enough to answer a number of questions about the update. In their view, the Galaxy S8 running this beta version of Samsung's Android Oreo performs better than on Nougat. The Galaxy Note 8 performs impressively even though it's still on Nougat, and this user says it is up to that level with Oreo on the S8. We knew Google had been working with some OEMs to get previously released devices supporting Treble, but that has not been implemented on the Galaxy S8 with this beta update right now.

We're told that the Android Oreo Beta does not have a portrait mode, but the pop-up and split screen modes still work. It also comes with colorized media notification and app shortcuts included, and the UI is mostly untouched from Nougat. A different Reddit thread said that Substratum was still working, but the post has since been deleted so that may still be up in the air.


Source: Reddit User — thesbros



from xda-developers http://ift.tt/2iTyZ4B
via IFTTT

Prizes Announced for September Community Incentive Program with Honor

Better late than never! We apologize for the delay on this announcement.

As part of our work with Honor, we have the ongoing Community Incentive Program where XDA members are rewarded for posting quality content in any of our Honor forums. At any time, participants can see their ranking relative to other members in the Honor Hub, towards the bottom of the page. But let's see who won prizes in September!

Honor 8:

shashank1320

Honor 6X:

hassanjavaid8181

Honor Band Z1:

venugopalu007
RedSkull23
ayush rao

Honor Earphones:

adriansticoid
gopinaidu77
PalakMi



from xda-developers http://ift.tt/2h3fupq
via IFTTT