<data:blog.pageTitle/>

This Page

has moved to a new address:

https://beginicaraku.com

Sorry for the inconvenience…

Redirection provided by Blogger to WordPress Migration Service
android smartphone

Sunday, August 14, 2016

Google Play Developer Console introduces Universal App Campaigns and User Acquisition performance reporting


At Google I/O in May, we previewed some new and powerful tools to help you further grow your business and improve decision making based on smarter insights on Google Play. We are happy to announce that, today, these features are live in the Developer Console.



User Acquisition: AdWords Campaigns



With just a few simple steps, universal app campaigns lets you easily set up ad campaigns from within the Google Play Developer Console and promote your app across Google Play, Google Search, YouTube and the Google Display Network. You will now be able to more effectively find and grow your install base with the help of Google’s unparalleled reach.




App install ads generated from one universal app campaign



Universal app campaigns automatically pull in images, video, and descriptions from your Google Play store listing to generate ad formats that look great wherever they are placed. From there, our systems automatically optimize your campaigns and experiment with different creatives and bids to maximize app install volume as close as possible to your target cost-per-install.



"With universal app campaigns, we only had to set up one campaign that drove more than 10,000 new installs in one month and install volume is continuing to trend up over time. We're also seeing a 20% lower CPI compared to other channels." – José Maria Pertusa, CMO of Linio


To get started with your first campaign, select the User Acquisition tab for your app in the Developer Console and choose ‘AdWords Campaigns.’


User Acquisition: Performance report




When you’re growing an audience for your app, you’ll want to understand where your most valuable users are coming from. The new performance report on the User Acquisition tab in the Developer Console lets you see how people are finding your Play Store listing, how many install your app, and how many go on to make purchases.






The performance report also tracks marketing links tagged with UTM tags, so you’ll be able to get more granular detail on how well your promotion is doing. Once you’ve got visitors to your Play Store listing, you’ll want to start thinking of ways to increase the number of visitors turning into installers. The new Store Listing Experiments feature can help you run A/B tests to do just that.


How to get started in the Developer Console


To learn how to take advantage of these new features in the Developer Console, watch the DevByte video below in which I explain how to set up your first universal app campaign and how to view the new data offered on the performance tab.






We hope you’ll use these user acquisition tools to grow a valuable audience for your app or game. We continue to improve our features for developers based on your feedback – like the recent improvements to beta testing and Store Listing Experiments – in order to help you grow your app or game business globally on Google Play.


Labels: , , , ,

Friday, August 12, 2016

More speed and coverage with U.S. Cellular — now part of Project Fi

Android SmartPhone- Mobile connectivity is central to everything we do. The speed and consistency of our network determines whether we can share a photo with a loved one or get that split-second answer when we need it most. With Project Fi, you can get the highest quality connection at all times - whether on Wi-Fi or one of our partner cellular networks. Today, we’re excited to introduce U.S. Cellular as our newest partner network.

U.S. Cellular, one of the top mobile networks in the U.S., offers service in 23 states with 4G LTE coverage for more than 99% of their subscribers, both urban and rural. With the addition of a third network, Project Fi now gives you more coverage and speed, helping you stay connected wherever you are.


How does this work?
In most areas, multiple cellular networks are available — in fact, the majority of Project Fi usage occurs in areas where more than one of our partners offers LTE coverage. But factors like obstructions from nearby buildings can meaningfully impact the speed and coverage available from each LTE connection. By analyzing speeds from each network, Project Fi is able to predict the fastest network at your location — down to the city block — and automatically connect you. We’re constantly adapting to consider how factors like new cell towers and newly-available radio frequencies are impacting real-world speeds.

Part of Project Fi’s promise is to ensure you have connection when you need it, even in areas with poor speeds or limited coverage. Your Fi device recognizes when your connection is weak and adjusts in real time. By accessing multiple cellular networks, Fi users have a connection nearly 99% of the time, and spend about 95% of cellular time on LTE — which will improve even further with the addition of U.S. Cellular.

U.S. Cellular coverage will be automatically rolling out to all users over the coming weeks. We’re excited to add our third partner and hope you’ll join us, too.

Posted by Evan Jacobs, Product Manager, Project Fi

Labels:

Thursday, August 11, 2016

Google Play Books introduces Bubble Zoom

Android SmartPhone- Whether it’s reading up on the origins of Justice League or enjoying a reboot like Invincible Iron Man, we all love our heroes and villains and there’s nothing more thrilling than flipping through your favorite comic when the battle is on — THWACK!

Last year, Google Play made it easier to find and read your favorite comics on your phone or tablet, including a new vertical scrolling experience. We wanted to use our superpowers, like machine learning, to improve the digital comics experience even further. Machine learning is the technology that makes the digital things in your life more useful, like finding the right image in Google Photos by searching for “hugs” to “dogs.” So what happens when we bring our machine learning capabilities to the world of comics?

At San Diego Comic-Con 2016, we just announced Bubble Zoom: a new way to read digital comics on phones and tablets. Using the same technology to recognize objects in photos, we trained our system to identify speech bubbles in comics. Bubble zoom expands the speech bubbles of a comic one-tap-at-a-time, making them super easy to read on your mobile device. It’s much easier to read digital comics one-handed as Bubble Zoom automatically identifies and expands each speech bubble for readability. No more compromising the full-page experience or getting lost while panning around.

“Justice League (2011) Origin - Vol 1.” and “Invincible Iron Man Vol 1.” read using Bubble Zoom
Bubble Zoom will be available on the latest version of Google Play Books app for Android as a technical preview with all Marvel and DC collected volumes supported. We’re also celebrating this preview with a 50% off sale on select DC Comics and Marvel comics in the Google Play Store — just use the code SDCC2016 by July 24th, 2016.

Rolling out today, you can upgrade Play Books and provide feedback on supported comic volumes in the app as this exclusive experience is only the first step. As we continue to teach our machines to read more comic book styles, our goal is to eventually bring Bubble Zoom to all the comics and manga ever made.


So stay on the lookout for Bubble Zoom and by Odin’s beard…go read some comics!

Posted by Greg Hartrell, Head of Product, Google Play Books


Labels: , , ,

Tuesday, August 9, 2016

alerted about system integrity

OVERVIEW

Android uses multiple layers of protection to keep users safe. One of these
layers is verified
boot
, which improves security by using cryptographic integrity checking to
detect changes to the operating system. Android has alerted about system integrity since Marshmallow,
but starting with devices first shipping with Android 7.0, we require verified
boot to be strictly enforcing. This means that a device with a corrupt boot
image or verified partition will not boot or will boot in a limited capacity
with user consent. Such strict checking, though, means that non-malicious data
corruption, which previously would be less visible, could now start affecting
process functionality more.


By default, Android verifies large partitions using the dm-verity kernel driver,
which divides the partition into 4 KiB blocks and verifies each block when read,
against a signed hash tree. A detected single byte corruption will therefore
result in an entire block becoming inaccessible when dm-verity is in enforcing
mode, leading to the kernel returning EIO errors to userspace on verified
partition data access.


This post describes our work in improving dm-verity robustness by introducing
forward error correction (FEC), and explains how this allowed us to make the
operating system more resistant to data corruption. These improvements are
available to any device running Android 7.0 and this post reflects the default
implementation in AOSP that we ship on our Nexus devices.

Error-correcting codes



Using forward error correction, we can detect and correct errors in source data
by shipping redundant encoding data generated using an error-correcting code.
The exact number of errors that can be corrected depends on the code used and
the amount of space allocated for the encoding data.


Reed-Solomon
is one of the most commonly used error-correcting code families, and is readily
available in the Linux kernel, which makes it an obvious candidate for
dm-verity. These codes can correct up to ⌊t/2⌋ unknown errors and up to
t known errors, also called erasures, when t
encoding symbols are added.


A typical RS(255, 223) code that generates 32 bytes of encoding data for every
223 bytes of source data can correct up to 16 unknown errors in each 255 byte
block. However, using this code results in ~15% space overhead, which is
unacceptable for mobile devices with limited storage. We can decrease the space
overhead by sacrificing error correction capabilities. An RS(255, 253) code can
correct only one unknown error, but also has an overhead of only 0.8%.



An additional complication is that block-based storage corruption often occurs
for an entire block and sometimes spans multiple consecutive blocks. Because
Reed-Solomon is only able to recover from a limited number of corrupted bytes
within relatively short encoded blocks, a naive implementation is not going to
be very effective without a huge space overhead.

Recovering from consecutive corrupted blocks



In the changes we made to dm-verity
for Android 7.0, we used a technique called interleaving to allow us to recover
not only from a loss of an entire 4 KiB source block, but several consecutive
blocks, while significantly reducing the space overhead required to achieve
usable error correction capabilities compared to the naive implementation.


Efficient interleaving means mapping each byte in a block to a separate
Reed-Solomon code, with each code covering N bytes across the corresponding N
source blocks. A trivial interleaving where each code covers a consecutive
sequence of N blocks already makes it possible for us to recover from the
corruption of up to (255 - N) / 2 blocks, which for RS(255, 223) would
mean 64 KiB, for example.


An even better solution is to maximize the distance between the bytes covered by
the same code by spreading each code over the entire partition, thereby
increasing the maximum number of consecutive corrupted blocks an RS(255, N) code
can handle on a partition consisting of T blocks to ⌈T/N⌉ × (255 -
N) / 2
.




Interleaving with distance D and block size B.


An additional benefit of interleaving, when combined with the integrity
verification already performed by dm-verity, is that we can tell exactly where
the errors are in each code. Because each byte of the code covers a different
source block—and we can verify the integrity of each block using the existing
dm-verity metadata—we know which of the bytes contain errors. Being able to
pinpoint erasure locations allows us to effectively double our error correction
performance to at most ⌈T/N⌉ × (255 - N) consecutive blocks.


For a ~2 GiB partition with 524256 4 KiB blocks and RS(255, 253), the maximum
distance between the bytes of a single code is 2073 blocks. Because each code
can recover from two erasures, using this method of interleaving allows us to
recover from up to 4146 consecutive corrupted blocks (~16 MiB). Of course, if
the encoding data itself gets corrupted or we lose more than two of the blocks
covered by any single code, we cannot recover anymore.


While making error correction feasible for block-based storage, interleaving
does have the side effect of making decoding slower, because instead of reading
a single block, we need to read multiple blocks spread across the partition to
recover from an error. Fortunately, this is not a huge issue when combined with
dm-verity and solid-state storage as we only need to resort to decoding if a
block is actually corrupted, which still is rather rare, and random access reads
are relatively fast even if we have to correct errors.

Conclusion



Strictly enforced verified boot improves security, but can also reduce
reliability by increasing the impact of disk corruption that may occur on
devices due to software bugs or hardware issues.


The new error correction feature we developed for dm-verity makes it possible
for devices to recover from the loss of up to 16-24 MiB of consecutive blocks
anywhere on a typical 2-3 GiB system partition with only 0.8% space overhead and
no performance impact unless corruption is detected. This improves the security
and reliability of devices running Android 7.0.

Labels: , ,

Announcing the Google Play Indie Games Festival in San Francisco, Sept. 24


If you’re an indie game developer, you know that games are a powerful medium of
expression of art, whimsy, and delight. Being on Google Play can help you reach
over a billion users and build a successful, global business. That’s why we
recently introduced programs, like the IndieCorner, to help more gamers discover your works of art.


To further celebrate and showcase the passion and innovation of indie game
developers, we’re hosting the Google Play Indie Games Festival at the google maps place Terra in San Francisco, on September 24.





This is a great opportunity for you to showcase your indie title to the public,
increase your network, and compete to win great prizes, such as Tango devices,
free tickets for Google I/O 2017, and Google ad campaign support. Admission will
be free and players will get the chance to play and vote on their favorites.


If you’re interested in showcasing your game, we’re google play indie games now through August 14. We’ll then select high-quality games that
are both innovative and fun for the festival. Submissions are open to US and
Canadian developers with 15 or less full time staff. Only games published on or
after January 1, 2016 or those to be published by December 31, 2016 are
eligible. See google play indie games.


We encourage virtual reality and augmented reality game submissions that use the
Google VR SDK and the TangoTablet Development Kit.


At the end of August, we’ll announce the group of indies to be featured at the
festival.


You can learn more about the event indie games festival.
We can’t wait to see what innovative and fun experiences you share with us!


Labels: , , ,

Improving Stability with Private C/C++ Symbol Restrictions in Android N


Posted by nopi yanto



As documented in the preview Android N
behavioral changes, to protect Android users and apps from unforeseen
crashes, Android N will restrict which libraries your C/C++ code can link
against at runtime
. As a result, if your app uses any private symbols from
platform libraries, you will need to update it to either use the public NDK APIs
or to include its own copy of those libraries. Some libraries are public: the
NDK exposes libandroid, libc, libcamera2ndk, libdl,
libGLES, libjnigraphics, liblog, libm, libmediandk, libOpenMAXAL, libOpenSLES,
libstdc++, libvulkan, and libz as part of the NDK API. Other libraries are
private, and Android N only allows access to them for platform HALs, system
daemons, and the like. If you aren’t sure whether your app uses private
libraries, you can immediately check it for warnings on the N Developer Preview.


We’re making this change because it’s painful for users when their apps stop
working after a platform update. Whether they blame the app developer or the
platform, everybody loses. Users should have a consistent app experience across
updates, and developers shouldn’t have to make emergency app updates to handle
platform changes. For that reason, we recommend against using private C/C++
symbols. Private symbols aren’t tested as part of the Compatibility Test Suite
(CTS) that all Android devices must pass. They may not exist, or they may behave
differently. This makes apps that use them more likely to fail on specific
devices, or on future releases — as many developers found when Android 6.0
Marshmallow switched from OpenSSL to BoringSSL.


You may be surprised that there’s no STL in the list of NDK libraries. The three
STL implementations included in the NDK — the LLVM libc++, the GNU STL, and
libstlport — are intended to be bundled with your app, either by statically
linking into your library, or by inclusion as a separate shared library. In the
past, some developers have assumed that they didn’t need to package the library
because the OS itself had a copy. This assumption is incorrect: a particular STL
implementation may disappear (as was the case with stlport, which was removed in
Marshmallow), may never have been available (as is the case with the GNU STL),
or it may change in ABI incompatible ways (as is the case with the LLVM libc++).


In order to reduce the user impact of this transition, we’ve identified a set of
libraries that see significant use from Google Play’s most-installed apps, and
that are feasible for us to support in the short term (including
libandroid_runtime.so, libcutils.so, libcrypto.so, and libssl.so). For legacy
code in N, we will temporarily support these libraries in order to give you more
time to transition. Note that we don't intend to continue this support in any
future Android platform release, so if you see a warning that means your code
will not work in a future release — please fix it now!



Table 1. What to expect if your app is linking against private native libraries.













































LibrariesApp's targetSdkVersionRuntime access via dynamic linkerImpact, N Developer PreviewImpact, Final N ReleaseImpact, future platform version
NDK PublicAnyAccessible
Private (graylist)<=23Temporarily accessibleWarning / ToastWarningError
>=24RestrictedErrorErrorError
Private (all other)>AnyRestrictedErrorErrorError



What behavior will I see?



Please test your app during the N Previews.



N Preview behavior



  • All public NDK libraries (libandroid, libc, libcamera2ndk, libdl, libGLES,
    libjnigraphics, liblog, libm, libmediandk, libOpenMAXAL, libOpenSLES, libstdc++,
    libvulkan, and libz), plus libraries that are part of your app are accessible.
  • For all other libraries you’ll see a warning in logcat and a toast on the
    display. This will happen only if your app’s targetSdkVersion is less than N. If
    you change your manifest to target N, loading will fail: Java’s
    System.loadLibrary will throw, and C/C++’s dlopen(3) will return NULL.





Test your apps on the Developer Preview — if you see a toast like this one, your app is accessing private native APIs. Please fix your code soon!



N Final Release behavior



  • All NDK libraries (libandroid, libc, libcamera2ndk, libdl, libGLES,
    libjnigraphics, liblog, libm, libmediandk, libOpenMAXAL, libOpenSLES, libstdc++,
    libvulkan, and libz), plus libraries that are part of your app are accessible.
  • For the temporarily accessible libraries (such as libandroid_runtime.so,
    libcutils.so, libcrypto.so, and libssl.so), you’ll see a warning in logcat for
    all API levels before N, but loading will fail if you update your app so that
    its targetSdkVersion is N or later.
  • Attempts to load any other libraries will fail in the final release of
    Android N, even if your app is targeting a pre-N platform version.



Future platform behavior



  • In O, all access to the temporarily accessible libraries will be removed.
    As a result, you should plan to update your app regardless of your
    targetSdkVersion prior to O. If you believe there is missing functionality from
    the NDK API that will make it impossible for you to transition off a temporarily
    accessible library, please file a bug here.



What do the errors look like?



Here’s some example logcat output from an app that hasn’t bumped its target SDK
version (and so the restriction isn’t fully enforced because this is only the
developer preview):




03-21 17:07:51.502 31234 31234 W linker  : library "libandroid_runtime.so"
("/system/lib/libandroid_runtime.so") needed or dlopened by
"/data/app/com.popular-app.android-2/lib/arm/libapplib.so" is not accessible
for the namespace "classloader-namespace" - the access is temporarily granted
as a workaround for http://b/26394120


This is telling you that your library “libapplib.so” refers to the library
“libandroid_runtime.so”, which is a private library.


When Android N ships, or if you set your target SDK version to N now, you’ll see
something like this if you try to use System.loadLibrary from Java:

java.lang.UnsatisfiedLinkError: dlopen failed: library "libcutils.so"
("/system/lib/libcutils.so") needed or dlopened by "/system/lib/libnativeloader.so"
is not accessible for the namespace "classloader-namespace"
  at java.lang.Runtime.loadLibrary0(Runtime.java:977)
  at java.lang.System.loadLibrary(System.java:1602)


If you’re using dlopen(3) from
C/C++ you’ll get a NULL return and dlerror(3) will
return the same “dlopen failed...” string as shown above.



Labels: , ,

Android Studio 2.0

Android Studio 2.0 is the fastest way to build high quality, performant apps for the Android platform, including phones and tablets, Android Auto, Android Wear, and Android TV. As the official IDE from Google, Android Studio includes everything you need to build an app, including a code editor, code analysis tools, emulators and more. This new and stable version of Android Studio has fast build speeds and a fast emulator with support for the latest Android version and Google Play Services.


Android Studio is built in coordination with the Android platform and supports all of the latest and greatest APIs. If you are developing for Android, you should be using Android Studio 2.0. It is available today as a easy download or update on the stable release channel.


Android Studio 2.0 includes the following new features that Android developer can use in their workflow :




  • Instant Run - For every developer who loves faster build speeds. Make changes and see them appear live in your running app. With many build/run accelerations ranging from VM hot swapping to warm swapping app resources, Instant Run will save you time every day.

  • Android Emulator - The new emulator runs ~3x faster than Android’s previous emulator, and with ADB enhancements you can now push apps and data 10x faster to the emulator than to a physical device. Like a physical device, the official Android emulator also includes Google Play Services built-in, so you can test out more API functionality. Finally, the new emulator has rich new features to manage calls, battery, network, GPS, and more.

  • Cloud Test Lab Integration - Write once, run anywhere. Improve the quality of your apps by quickly and easily testing on a wide range of physical Android devices in the Cloud Test Lab right from within Android Studio.

  • App Indexing Code Generation & Test - Help promote the visibility your app in Google Search for your users by adding auto-generated URLS with the App Indexing feature in Android Studio. With a few click you can add indexable URL links that you can test all within the IDE.

  • GPU Debugger Preview - For those of you developing OpenGL ES based games or apps, you can now see each frame and the GL state with the new GPU debugger. Uncover and diagnosis GL rendering issues by capturing and analyzing the GPU stream from your Android device.

  • IntelliJ 15 Update - Android Studio is built on the world class Intellij coding platform. Check out the latest Intellij features here.




Deeper Dive into the New Features




Instant Run

Today, mobile platforms are centered around speed and agility. And yet, building for mobile can sometimes feel clunky and slow. Instant Run in Android Studio is our solution to keep you in a fast and fluid development flow. The feature increases your developer productivity by accelerating your edit, build, run cycles. When you click on the Instant Run button (), Instant Run will analyze the changes you have made and determine how it can deploy your new code in the fastest way.





New Instant Run Buttons



Whenever possible, it will inject your code changes into your running app process, avoiding re-deployment and re-installation your APK. For some types of changes, an activity or app restart is required, but your edit, build and run cycles should still be generally much faster than before. Instant Run works with any Android Device or emulator running API 14 (Ice Cream Sandwich) or higher.


Since previewing Instant Run at the end of last year, we’ve spent countless hours incorporating your feedback and refining for the stable release. Look for even more acceleration in future releases because build speeds can never be too fast. To learn how you can make the most out of Instant Run in your app development today, please check out our Instant Run documentation.


Android Emulator


The new Android Emulator is up to 3x faster in CPU, RAM, & I/O in comparison to the previous Android emulator. And when you're ready to build, ADB push speeds are a whopping 10x faster! In most situations, developing on the official Android Emulator is faster than a real device, and new features like Instant Run will work best with the new Android emulator.


In addition to speed and performance, the Android Emulator has a brand user interface and sensor controls. Enhanced since the initial release, with the emulator you can drag and drop APKs for quick installation, resize and rescale the window, use multi-touch actions (pinch & zoom, pan, rotate, tilt) and much more.





Android Emulator User Interface: Toolbar & Extend Controls Panel



Trying out the new emulator is as easy as updating your SDK Tools to 25.1.1 or higher, create a fresh Android Virtual Device using one of the recommended x86 system images and you are ready to go. Learn more about the Android Emulator by checking out the documentation.



Cloud Test Lab


Cloud Test Lab is a new service that allows you to test your app across a wide range of devices and device configurations at scale in the cloud. Once you complete your initial testing with your Android Emulator or Android device, Cloud Test Lab is a great extension to your testing process that provides you to run through a collection of tests against a portfolio of physical devices hosted in Google’s data centers. Even if you do not have tests explicitly written, Cloud Test Lab can perform a basic set of tests to ensure that your app does not crash.


The new interface in Android Studio allows you to configure the portfolio of tests you want to run on Cloud Test Lab, and allows you to also see the results of your tests. To learn more about the service go here.





Setup for Cloud Test Lab




App Indexing


It is now easier for your users to find your app in Google Search with the App Indexing API. Android Studio 2.0 helps you to create the correct URL structure in your app code and add attributes in your AndroidManifest.xml file that will work the Google App Indexing service. After you add the URLs to your app, can you test and validate your app indexing code as shown here:




Google App Indexing Testing




Check out this link for more details about app indexing support in Android Studio.



GPU Debugger Preview


If you are developing OpenGL ES games or graphics-intensive apps, you have a new GPU debugger with Android Studio 2.0. Although the GPU debugger is a preview, you can step through your app frame by frame to identify and debug graphics rendering issues with rich information about the GL state. For more details on how to setup your Android device and app to work with the tool, check out the tech documentations here.




GPU Debugger Preview




What's Next




Update

If you are using a previous version of Android Studio, you can check for updates on the Beta channel from the navigation menu (Help → Check for Update [Windows/Linux] , Android Studio → Check for Updates [OS X]). If you need a new copy of Android Studio, you can download it here. If you developing for the N Developer Preview, check out this additional setup instructions.



Set Up Instant Run & Android Emulator

After you update to or download Android Studio 2.0, you should upgrade your projects to use Instant Run, and create a fresh Android Virtual Device (AVD) for the new Android emulator and you are on your way to a fast Android development experience.


Using Instant Run is easy. For each of your existing projects you will see a quick prompt to update your project to the new gradle plugin version (com.android.tools.build:gradle:2.0.0).






Prompt to update your gradle version in your project




For all new app projects in Android Studio 2.0, Instant Run is on by default. Check out the documentation for more details.


We are already hard at work developing the next release of Android Studio. We appreciate any feedback on things you like, issues or features you would like to see. Connect with us -- the Android Studio development team --































auto insurance,Structured settlements,Mesothelioma,Acne,Life Insurance,Death Insurance,Bextra,Asbestos,Car Insurance,Dental Plans,Private Jets,Debt Consolidation,Credit Cards,Rewards Cards,Equity Loans,Equity Line Credit,Loans,Mortgages,Pay Day Loans,Cash Advance,Bankruptcy,Reduce Debt,Refinance,Jet Charter,Vioxx,Wrongful death,Legal Advice,Taxes,Investing,Bonds,Online Trading,IRA Rollover,Refinance Quotes,Adult Education,Distance Learning,Alcohol Treatment,Rehab,Drug Rehab,Spyware,Cell Phone Plans,Calling Cards,VOIP,Weight Loss,Canadian Pharmacy,Depression,Spam Filter,Lasik,Facelift,Teeth Whitening,Annuity,Anti Virus Protection,Adult Diaper,Free Credit Report,Credit Score,Satellite,Anti Spam Software,Dedicated Hosting,Domain Name,Need Money,Bachelor Degree,Master Degree,Doctorate Degree,Work at Home,Quick Book,Extra Money,Eloan,Malpractice Lawyer,Lenox China,Cancer,Payperclick,Personal Injury Attorney,Lexington Law,Video Conferencing,Transfer Money,Windstar Cruise,Casinos Online,Term Life,Online Banking,Borrow Money,Low Interest Credit Cards,Personal Domain Name,Cellular Phone Rental,Internet Broker,Trans Union,Cheap Hosting,University Degrees Online,Online Marketing,Consolidate,Helpdesk Software,Web Host,Homeowner’s Insurance,Yellow Page Advertising,Travel Insurance,Register Domain,Credit Counseling,Email Hosting,Business Credit,Consumer Credit,Blue Cross,Laptop Computer , auto insurance quotes, auto insurance companies, auto insurance florida, auto insurance quotes online, auto insurance america, auto insurance comparison, auto insurance reviews, auto insurance calculator, auto insurance score, auto insurance quotes, auto insurance companies, auto insurance florida, auto insurance quotes online, auto insurance america, auto insurance comparison, auto insurance reviews, auto insurance calculator, auto insurance score, auto insurance ratings

Labels: , , ,

Sunday, August 7, 2016

Android Developer Story: Zabob Studio and Buff Studio reach global users with Google Play

South Korean Games developers Zabob Studio and Buff Studio are start-ups seeking to become major players in the global mobile games industry.



Zabob Studio was set up by Kwon Dae-hyeon and his wife in 2013. This couple-run business has already published ten games, including hits ‘Zombie Judgement Day’ and ‘Infinity Dungeon.’ So far, the company has generated more than KRW ₩140M (approximately $125,000 USD) in sales revenue, with about 60 percent of the studio’s downloads coming from international markets, such as Taiwan and Brazil.



Elsewhere, Buff Studio was founded in 2014 and right from the start, its first game Buff Knight was an instant hit. It was even featured as the ‘Game of the Week’ on Google Play and was included in “30 Best Games of 2014” lists. A sequel is already in the works showing the potential of the franchise.


In this video, Kwon Dae-hyeon, CEO of Zabob Studio, and Kim Do-Hyeong, CEO of Buff Studio, talk about how Google Play services and the Google Play Developer Console have helped them maintain a competitive edge, market their games efficiently to global users and grow revenue on the platform.




Android Developer Story: Buff Studio - Reaching global users with Google Play





Android Developer Story: Zabob Studio - Growing revenue with Google Play



Check Zabob Studio apps and Buff Knight on Google Play!


We’re pleased to share that Android Developer Stories will now come with translated subtitles on YouTube in popular languages around the world. Find out how to turn on YouTube captions. To read locally translated blog posts, visit the Google developer blog in Korean.


Labels: ,

Connecting your App to a Wi-Fi Device



With the growth of the Internet of Things, connecting Android applications to
Wi-Fi enabled devices is becoming more and more common. Whether you’re building
an app for a remote viewfinder, to set up a connected light bulb, or to control
a quadcopter, if it’s Wi-Fi based you will need to connect to a hotspot that may
not have Internet connectivity.



From Lollipop onwards the OS became a little more intelligent, allowing multiple
network connections and not routing data to networks that don’t have Internet
connectivity. That’s very useful for users as they don’t lose connectivity when
they’re near Wi-Fis with captive portals. Data routing APIs were added for
developers, so you can ensure that only the appropriate app traffic is routed
over the Wi-Fi connection to the external device.


To make the APIs easier to understand, it is good to know that there are 3 sets
of networks available to developers:

  • WiFiManager#startScan returns a list of available Wi-Fi networks. They are
    primarily identified by SSID.
  • WiFiManager#getConfiguredNetworks returns a list of the Wi-Fi networks
    configured on the device, also indexed by SSID, but they are not necessarily
    currently available.
  • ConnectivityManager#getAllNetworks returns a list of networks that are being
    interacted with by the phone. This is necessary as from Lollipop onwards a
    device may be connected to multiple networks at once, Wi-Fi, LTE, Bluetooth,
    etc… The current state of each is available by calling ConnectivityManager#getNetworkInfo
    and is identified by a network ID.


In all versions of Android you start by scanning for available Wi-Fi networks
with WiFiManager#startScan,
iterate through the ScanResults
looking for the SSID of your external Wi-Fi device. Once you’ve found it you can
check if it is already a configured network using WifiManager#getConfiguredNetworks
and iterating through the WifiConfigurations
returned, matching on SSID. It’s worth noting that the SSIDs of the configured
networks are enclosed in double quotes, whilst the SSIDs returned in ScanResults
are not.


If your network is configured you can obtain the network ID from the
WifiConfiguration object. Otherwise you can configure it using WifiManager#addNetwork
and keep track of the network id that is returned.


To connect to the Wi-Fi network, register a BroadcastReceiver that listens for
WifiManager.NETWORK_STATE_CHANGED_ACTION
and then call WifiManager.enableNetwork(int netId, boolean disableOthers), passing in your network ID. The
enableNetwork call disables all the other Wi-Fi access points for the next scan,
locates the one you’ve requested and connects to it. When you receive the
network broadcasts you can check with WifiManager#getConnectionInfo
that you’re successfully connected to the correct network. But, on Lollipop and
above, if that network doesn’t have internet connectivity network, requests will
not be routed to it.


Routing network requests


To direct all the network requests from your app to an external Wi-Fi device,
call ConnectivityManager#setProcessDefaultNetwork
on Lollipop devices, and on Marshmallow call ConnectivityManager#bindProcessToNetwork
instead, which is a direct API replacement. Note that these calls require
android.permission.INTERNET; otherwise they will just return false.


Alternatively, if you’d like to route some of your app traffic to the Wi-Fi
device and some to the Internet over the mobile network:


Now you can keep your users connected whilst they benefit from your innovative
Wi-Fi enabled products.

Labels: , ,

Friday, July 29, 2016

Announcing Android add-ons for Docs and Sheets








We know many of you consider your mobile device as your primary tool to consume business information, but what if you could use it to get more work done, from anywhere?

We’re excited to introduce Android add-ons for Docs and Sheets, a new way for you to do just that—whether it’s readying a contract you have for e-signature from your phone, or pulling in CRM data on your tablet for some quick analysis while waiting for your morning coffee, Android add-ons can help you accomplish more.





Get more done with your favorite third-party apps, no matter where you are


We’ve worked with eight integration partners who have created seamless integrations for Docs and Sheets. Here’s a preview of just a few of them:




  • DocuSign - Trigger or complete a signing process from Docs or Sheets, and save the executed document to Drive. Read more here.





DocuSign lets you easily create signature envelopes right from Google Docs



  • ProsperWorks - Import your CRM data to create and update advanced dashboards, reports and graphs on Sheets, right from your device. Read more here.

  • AppSheet - Create powerful mobile apps directly from your data in Sheets instantly — no coding required. Read more here.

  • Scanbot - Scan your business documents using built-in OCR, and insert their contents into Docs as editable text. Read more here.





You can find these add-ons and many more, including PandaDoc, ZohoCRM, Teacher Aide, EasyBib and Classroom in our Google Play collection as well as directly from the add-on menus in Docs or Sheets.








Try them out today, and see how much more you can do.





Calling all developers: try our developer preview today!


As you can see from above, Android add-ons offer a great opportunity to build
innovative integrations and reach Docs and Sheets users around the world.
They’re basically Android apps that connect with href="http://developers.google.com/apps-script?utm_campaign=android_discussion_googledocs_072816&utm_source=anddev&utm_medium=blog">Google Apps Script projects
on the server-side, allowing them to access and manipulate data from Google Docs
or Sheets using standard Apps Script techniques. Check out href="https://developers.google.com/apps-script/add-ons/mobile?utm_campaign=android_discussion_googledocs_072816&utm_source=anddev&utm_medium=blog">our
documentation
which includes href="https://developers.google.com/apps-script/add-ons/mobile/mobile-style?utm_campaign=android_discussion_googledocs_072816&utm_source=anddev&utm_medium=blog">UI
guidelines
as well as href="https://developers.google.com/apps-script/add-ons/mobile/?utm_campaign=android_discussion_googledocs_072816&utm_source=anddev&utm_medium=blog#see_what_you_can_make">sample
code
to get you started. We’ve also made it easy for you to publish your
apps with the Apps Script editor.


Android add-ons are available today as a developer preview. We look forward to
seeing what you build!

Labels: , , ,

Thursday, July 28, 2016

Protecting Android with Linux kernel defenses


Memory protections


One of the major security features provided by the kernel is memory protection
for userspace processes in the form of address space separation. Unlike
userspace processes, the kernel’s various tasks live within one address space
and a vulnerability anywhere in the kernel can potentially impact unrelated
portions of the system’s memory. Kernel memory protections are designed to
maintain the integrity of the kernel in spite of vulnerabilities.

Mark memory as read-only/no-execute



This feature segments kernel memory into logical sections and sets restrictive
page access permissions on each section. Code is marked as read only + execute.
Data sections are marked as no-execute and further segmented into read-only and
read-write sections. This feature is enabled with config option
CONFIG_DEBUG_RODATA. It was put together by Kees Cook and is based on a subset
of Grsecurity’s KERNEXEC feature by Brad
Spengler and Qualcomm’s CONFIG_STRICT_MEMORY_RWX feature by Larry Bassel and
Laura Abbott. CONFIG_DEBUG_RODATA landed in the upstream kernel for arm/arm64
and has been backported to Android’s 3.18+ arm/arm64 common
kernel.

Restrict kernel access to userspace



This feature improves protection of the kernel by preventing it from directly
accessing userspace memory. This can make a number of attacks more difficult
because attackers have significantly less control over kernel memory
that is executable, particularly with CONFIG_DEBUG_RODATA enabled. Similar
features were already in existence, the earliest being Grsecurity’s UDEREF. This
feature is enabled with config option CONFIG_CPU_SW_DOMAIN_PAN and was
implemented by Russell King for ARMv7 and backported to Android’s4.1 kernel by Kees Cook.

Improve protection against stack buffer overflows


Much like its predecessor, stack-protector, stack-protector-strong protects
against stack
buffer overflows
, but additionally provides coverage for morearray types, as the original only protected character arrays.
Stack-protector-strong was implemented by Han Shen and added to the gcc4.9 compiler.


Attack surface reduction



Attack surface reduction attempts to expose fewer entry points to the kernel
without breaking legitimate functionality. Reducing attack surface can include
removing code, removing access to entry points, or selectively exposing
features.

Remove default access to debug features



The kernel’s perf system provides infrastructure for performance measurement and
can be used for analyzing both the kernel and userspace applications. Perf is a
valuable tool for developers, but adds unnecessary attack surface for the vast
majority of Android users. In Android Nougat, access to perf will be blocked by
default. Developers may still access perf by enabling developer settings and
using adb to set a property: “adb shell setprop security.perf_harden 0”.


The patchset for blocking access to perf may be broken down into kernel and
userspace sections. The kernel patch is
by Ben Hutchings and is
derived from Grsecurity’s CONFIG_GRKERNSEC_PERF_HARDEN by Brad Spengler. The
userspace changes were contributedby Daniel Micay. Thanks to WishWu and others for responsibly disclosing security vulnerabilities in perf.

Restrict app access to ioctl commands



Much of Android security model is described and enforced by SELinux. The ioctl()
syscall represented a major gap in the granularity of enforcement via SELinux.
Ioctl command
whitelisting with SELinux
was added as a means to provide per-command
control over the ioctl syscall by SELinux.


Most of the kernel vulnerabilities reported on Android occur in drivers and are
reached using the ioctl syscall, for example CVE-2016-0820.
Some ioctl commands are needed by third-party applications, however most are not
and access can be restricted without breaking legitimate functionality. In
Android Nougat, only a small whitelist of socket ioctl commands are available to
applications. For select devices, applications’ access to GPU ioctls has been
similarly restricted.

Require seccomp-bpf



Seccomp provides an additional sandboxing mechanism allowing a process to
restrict the syscalls and syscall arguments available using a configurable
filter. Restricting the availability of syscalls can dramatically cut down on
the exposed attack surface of the kernel. Since seccomp was first introduced on
Nexus devices in Lollipop, its availability across the Android ecosystem has
steadily improved. With Android Nougat, seccomp support is a requirement for all
devices. On Android Nougat we are using seccomp on the mediaextractor and
mediacodec processes as part of the mediahardening effort.

Ongoing efforts



There are other projects underway aimed at protecting the kernel:

  • The KernelSelf Protection Project is developing runtime and compiler defenses for the
    upstream kernel.
  • Further sandbox tightening and attack surface reduction with SELinux is
    ongoing in AOSP.
  • Minijail
    provides a convenient mechanism for applying many containment and sandboxing
    features offered by the kernel, including seccomp filters and namespaces.
  • Projects like kasan and kcov help fuzzers
    discover the root cause of crashes and to intelligently construct test cases
    that increase code coverage—ultimately resulting in a more efficient bug hunting
    process.


Due to these efforts and others, we expect the security of the kernel to
continue improving. As always, we appreciate feedback on our work and welcome
suggestions for how we can improve Android. Contact us at href="mailto:security@android.com">security@android.com.

Labels: , , ,

Wednesday, July 27, 2016

Android Developer Story: Culture Alley reaches millions of English learners on Google Play


CultureAlley developed the app HelloEnglish to help Indians learn English through gamification, supporting over
15 dialects. More than 13 million people now use Hello English in India and
around the world.


Hear Nishant Patni, Founder & CEO and Pranshu Bhandari, Co-Founder, explain how
they optimized the app to address challenges faced by emerging markets. Learn
how they used various Google Play tools to address varying levels of
connectivity and device capabilities, and improve user retention.



building for billions and watch the 10 tips to build an app for billions of users’ video to get more tips.
Also, get the
Playbook for Developers app
and stay up-to-date with more features and best
practices that will help you grow a successful business on Google Play.

Labels: , ,

Introducing new app categories -- From Art to Autos to Dating -- to help users better find your apps

With more than 1 billion active users in 190 countries around the world, Google
Play continues to be an important distribution platform for you to build a
global audience. To help you get your apps in front of more users, it’s
important to make them more quickly and easily discoverable in Google Play.
That’s why we rolled out major features, such as SearchAds, IndieCorner, storelisting experiments, and more, over the past year.


To improve the overall search experience, we’re introducing new app categories
and renaming a few existing ones, making them more comprehensive and relevant to
what users are looking for today.


The new categories include:

  • Art & Design
  • Auto & Vehicles
  • Beauty
  • Dating
  • Events
  • Food & Drink
  • House & Home
  • Parenting


In addition, the “Transportation” category will be renamed “Maps & Navigation,”
and the “Media & Video” category will be renamed “Video Players & Editors.”


To select a new category for your app or game

  1. Sign in to your Google Play
    Developer Console
    .
  2. Select an app.
  3. On the left menu, click Store Listing.
  4. Under "Categorization," select an application type and category.
  5. Near the top of the page, click Save draft (new apps) or Submit update
    (existing apps).


Newly added categories will be available on Google Play within 60 days. If you
choose a newly added category for an app before the category is available for
users, your current app category may change. See additional details and view our
full list of categories in the HelpCenter.


Labels: , ,