Pages

Showing posts with label new. Show all posts
Showing posts with label new. Show all posts

Monday, May 9, 2016

New in Android Samples Authenticating to remote servers using the Fingerprint API

Posted by Takeshi Hagikura, Yuichi Araki, Developer Programs Engineer

Originally posted on Google Android Developer blog

As we announced in the previous blog post, Android 6.0 Marshmallow is now publicly available to users. Along the way, we’ve been updating our samples collection to highlight exciting new features available to developers.

This week, we’re releasing AsymmetricFingerprintDialog, a new sample demonstrating how to securely integrate with compatible fingerprint readers (like Nexus Imprint) in a client/server environment.

Let’s take a closer look at how this sample works, and talk about how it complements the FingerprintDialog sample we released earlier during the public preview.

Symmetric vs Asymmetric Keys

The Android Fingerprint API protects user privacy by keeping users’ fingerprint features carefully contained within secure hardware on the device. This guards against malicious actors, ensuring that users can safely use their fingerprint, even in untrusted applications.

Android also provides protection for application developers, providing assurances that a user’s fingerprint has been positively identified before providing access to secure data or resources. This protects against tampered applications, providing cryptographic-level security for both offline data and online interactions.

When a user activates their fingerprint reader, they’re unlocking a hardware-backed cryptographic vault. As a developer, you can choose what type of key material is stored in that vault, depending on the needs of your application:

  • Symmetric keys: Similar to a password, symmetric keys allow encrypting local data. This is a good choice securing access to databases or offline files.
  • Asymmetric keys: Provides a key pair, comprised of a public key and a private key. The public key can be safely sent across the internet and stored on a remote server. The private key can later be used to sign data, such that the signature can be verified using the public key. Signed data cannot be tampered with, and positively identifies the original author of that data. In this way, asymmetric keys can be used for network login and authenticating online transactions. Similarly, the public key can be used to encrypt data, such that the data can only be decrypted with the private key.

This sample demonstrates how to use an asymmetric key, in the context of authenticating an online purchase. If you’re curious about using symmetric keys instead, take a look at the FingerprintDialog sample that was published earlier.

Here is a visual explanation of how the Android app, the user, and the backend fit together using the asymmetric key flow:

1. Setting Up: Creating an asymmetric keypair

First you need to create an asymmetric key pair as follows:

KeyPairGenerator.getInstance(KeyProperties.KEY_ALGORITHM_EC, "AndroidKeyStore");
keyPairGenerator.initialize(
new KeyGenParameterSpec.Builder(KEY_NAME,
KeyProperties.PURPOSE_SIGN)
.setDigests(KeyProperties.DIGEST_SHA256)
.setAlgorithmParameterSpec(new ECGenParameterSpec("secp256r1"))
.setUserAuthenticationRequired(true)
.build());
keyPairGenerator.generateKeyPair();

Note that .setUserAuthenticationRequired(true) requires that the user authenticate with a registered fingerprint to authorize every use of the private key.

Then you can retrieve the created private and public keys with as follows:


KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
keyStore.load(null);
PublicKey publicKey =
keyStore.getCertificate(MainActivity.KEY_NAME).getPublicKey();

KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
keyStore.load(null);
PrivateKey key = (PrivateKey) keyStore.getKey(KEY_NAME, null);

2. Registering: Enrolling the public key with your server

Second, you need to transmit the public key to your backend so that in the future the backend can verify that transactions were authorized by the user (i.e. signed by the private key corresponding to this public key). This sample uses the fake backend implementation for reference, so it mimics the transmission of the public key, but in real life you need to transmit the public key over the network.

boolean enroll(String userId, String password, PublicKey publicKey);

3. Let’s Go: Signing transactions with a fingerprint

To allow the user to authenticate the transaction, e.g. to purchase an item, prompt the user to touch the fingerprint sensor.

Then start listening for a fingerprint as follows:

Signature.getInstance("SHA256withECDSA");
KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
keyStore.load(null);
PrivateKey key = (PrivateKey) keyStore.getKey(KEY_NAME, null);
signature.initSign(key);
CryptoObject cryptObject = new FingerprintManager.CryptoObject(signature);

CancellationSignal cancellationSignal = new CancellationSignal();
FingerprintManager fingerprintManager =
context.getSystemService(FingerprintManager.class);
fingerprintManager.authenticate(cryptoObject, cancellationSignal, 0, this, null);

4. Finishing Up: Sending the data to your backend and verifying

After successful authentication, send the signed piece of data (in this sample, the contents of a purchase transaction) to the backend, like so:

Signature signature = cryptoObject.getSignature();
// Include a client nonce in the transaction so that the nonce is also signed
// by the private key and the backend can verify that the same nonce cant be used
// to prevent replay attacks.
Transaction transaction = new Transaction("user", 1, new SecureRandom().nextLong());
try {
signature.update(transaction.toByteArray());
byte[] sigBytes = signature.sign();
// Send the transaction and signedTransaction to the dummy backend
if (mStoreBackend.verify(transaction, sigBytes)) {
mActivity.onPurchased(sigBytes);
dismiss();
} else {
mActivity.onPurchaseFailed();
dismiss();
}
} catch (SignatureException e) {
throw new RuntimeException(e);
}

Last, verify the signed data in the backend using the public key enrolled in step 2:

@Override
public boolean verify(Transaction transaction, byte[] transactionSignature) {
try {
if (mReceivedTransactions.contains(transaction)) {
// It verifies the equality of the transaction including the client nonce
// So attackers cant do replay attacks.
return false;
}
mReceivedTransactions.add(transaction);
PublicKey publicKey = mPublicKeys.get(transaction.getUserId());
Signature verificationFunction = Signature.getInstance("SHA256withECDSA");
verificationFunction.initVerify(publicKey);
verificationFunction.update(transaction.toByteArray());
if (verificationFunction.verify(transactionSignature)) {
// Transaction is verified with the public key associated with the user
// Do some post purchase processing in the server
return true;
}
} catch (NoSuchAlgorithmException | InvalidKeyException | SignatureException e) {
// In a real world, better to send some error message to the user
}
return false;
}

At this point, you can assume that the user is correctly authenticated with their fingerprints because as noted in step 1, user authentication is required before every use of the private key. Let’s do the post processing in the backend and tell the user that the transaction is successful!

Other updated samples

We also have a couple of Marshmallow-related updates to the Android For Work APIs this month for you to peruse:

  • AppRestrictionEnforcer and AppRestrictionSchemaThese samples were originally released when the App Restriction feature was introduced as a part of Android for Work API in Android 5.0 Lollipop. AppRestrictionEnforcer demonstrates how to set restriction to other apps as a profile owner. AppRestrictionSchema defines some restrictions that can be controlled by AppRestrictionEnforcer. This update shows how to use 2 additional restriction types introduced in Android 6.0.
  • We hope you enjoy the updated samples. If you have any questions regarding the samples, please visit us on our GitHub page and file issues or send us pull requests.

    Read More..

    Sunday, April 24, 2016

    3 Aplikasi Terbaru Untuk Melacak Hp Android Hilang

    3 Aplikasi Terbaru Untuk Melacak Hp Android Hilang

    3 Aplikasi Terbaru Untuk Melacak Hp Android Hilang

    Seocips.com. Pastinya anda sudah tahu dan tidak asing lagi dengan platform milik android ini yaitu Android. Platform android ini merupakan salah satu platform terpopuler, apalagi bagi pengguna gadget seperti smartphone. Mulai dari anak-anak hingga orang dewasa, semuanya menggunakan dan memanfaatkan Android dalam kehidupan sehari-hari.

    Untuk anda pengguna android pastinya tidak ingin jika android anda hilang maka untuk berjaga-jaga sebaiknya melindungi smartphone android anda dengan aplikasi-aplikasi untuk melacak android yang hilang yang banyak tersedia di Google Play. Berikut ini seocips.com akan membagikan 3 aplikasi yang dapat anda gunakan apabila satu saat nanti hal yang tidak anda inginkan yaitu android anda hilang.

    Gunakan aplikasi "Wheres My Droid"
    Untuk yang pertama anda dapat encoba menggunakan aplikasi ini. Ketika anda mengintal aplikasi ini anda dapat mengisinya dengan pasword, kemudian nomor telepon yang nantinya akan dihubungi jika nantinya SIM card yang anda pasang di Hp anda di ganti oleh orang lain. Masih banyak lagi fungsinya dan untuk lebih jelasanya anda dapat mencoba mengistal aplikasi ini di smartphone android anda.


    Mobile tracker for Android
    Cara kerja aplikasi ini hampir sama dengan aplikasi yang pertama tadi yaitu aplikasi android "Wheres My Droid" Saat Android Anda hilang dan ditemukan oleh orang lain, kemudian Android Anda diberi sim card baru maka akan secara otomatis memberi pemberitahuan melalui sms. Sms ini akan menuju sesuai kontak yang Anda isikan ketika anda pertamakali menginstal aplikasi ini di android anda. Anda dapat mencoba aplikasi ini.

    Android lost
    Aplikasi Andorid Lost ini memiliki fungsi yang lebih banyaj dari aplikasi-aplikasi sebelumnua dimana anda dapat melihat lokasi smartphone android anda. jadi misalnya android anda hilang dicuri maka anda dapat melihat lokasi dimana android anda berada, sepertinya aplikasi ini menggunakan fiture Gps. Pada dasarnya, Anda dapat mengontrol Android Anda dari jarak jauh, mempasword android anda sehingga data-data akan aman.

    Ada baiknya jika anda tidak perlu melacak android anda, nah agat tidak perlu dilacak tentusaja anda harus menjaganya agar tidak samapi hilang. Masih banyak aplikasi-aplikasi yang dapat anda gunakan untuk melacak aplikasi android anda jika hilang dan akan kami bahas di lain waktu nanti. Sekian informasi android kali ini dan semoga dapat membantu.
    Read More..

    Android Developers Blog New Editing Features in Eclipse plug in for Android

    Android Developers Blog: New Editing Features in Eclipse plug-in for Android
    Read More..

    Whats New in Android Studio Android Dev Summit 2015



    Related:
    - Steps to create AVD using new Android Emulator in Android Studio 2.0 Preview

    Read More..

    Wednesday, April 20, 2016

    Android 6 Essentials

    Design, build, and create your own applications using the full range of features available in Android 6

    Android 6 Essentials

    About This Book
    • Learn how to utilize the robust features of Android 6 to design, develop, and publish better Android applications
    • Get useful guidance on creating new apps or migrating existing apps to support features such as app permissions, app links, fingerprint authentication, etc
    • A fast paced guide, packed with hands-on examples that ties all the features such as API, audio, video, camera, tab customization together under a single cover
    Who This Book Is For
    This book is for Android developers who are looking to move their applications into the next Android version with ease.

    What You Will Learn
    • Familiarize yourself with the features of Android 6
    • Code with the new Android permissions model
    • Use apps auto backup and restore lost data automatically
    • Increase user engagement with apps through an assistant using triggers and providing contextual assistance
    • Assess and handle proper usage of the API
    • Work with Audio, Video,Camera in Android 6
    • Utilize the new features in Android for professional purposes
    • Understand and code Chromes custom tabs
    In Detail
    Android 6 is the latest and greatest version of the Android operating system, and comes packed with cutting edge new features for you to harness for the benefit of building better applications.

    This step-by-step guide will take you through the basics of the Android Marshmallow permissions model and beyond into other crucial areas such as the Audio,Video,Camera API and Androids at work features. Learn how to create, deploy, and manage Android applications with Marshmallows API and the latest functionalities.

    The combination of instructions and real-world examples will make your application deployment and testing a breeze.

    Style and approach
    This easy-to-follow, step-by-step tutorial provides explanations and examples to add the new Android 6 features to your skill set. Each chapter provides sequential steps and detailed information about the API, as well as best practices and testing options.

    Read More..

    Multiple Ways of Programming for Android

    These seem to be more than one way to program for the Android devices.

    The first and the most common way is by using the Software Development Kit (SDK) using Java Syntax. This is what I have been talking about in all the earlier posts and tutorials.

    The other 3 interesting ways, I believe, are:
    2. Native Development Kit using C / C ++. This I am sure many are aware of and would be using to some extent. This is a little more closer to the OS, not running on top of the virtual Machine.
    3. RenderScript using C99 - used to write faster graphics code like the Google Books page turn animation etc.
    4. Android Scripting Layer using Python etc.

    Interesting options, right?
    Read More..

    Sunday, April 17, 2016

    Create AVD using new Android Emulator in Android Studio 2 0 Preview


    New Android Emulator Preview is available now, you can create AVD using new Emulator in Android Studio 2.0 Preview.

    When I try it, dialog pop up with error message:
    emulator: ERROR: Couldnt find crash service executable
    C:UsersuserAppDataLocalAndroidsdk oolsemulator64-crash-service.exe
    ...
    I check my system, I have emulator-crash-service.exe, not emulator64-crash-service.exe! I dont know is it a bug, or anything wrong in my setting.

    updated@2015-12-13:
    Seem its a bug of the new emulator in Windows. Somebody reported this issue: https://code.google.com/p/android/issues/detail?id=196629


    Anyway, the emulator still can run and deploy my Hello World. This video show steps to create AVD using new Android Emulator in Android Studio 2.0 Preview; run on Windows 10 with CPU of Intel i5.


    Reference:
    - Android Developers Blog: Android Studio 2.0 Preview: Android Emulator
    - Android Tools Project Site: Android Emulator Preview (with system requirement and update SDK)


    Read More..

    Saturday, April 16, 2016

    Free Download New IDM 2013 Patch




    Download IDM : (Here)
    Download Patch : (Here)

    Internet Download Manager (IDM) is a tool to increase download speeds by up to 5 times, resume and schedule downloads. Comprehensive error recovery and resume capability will restart broken or interrupted downloads due to lost connections, network problems, computer shutdowns, or unexpected power outages. Simple graphic user interface makes IDM user friendly and easy to use.
    Internet Download Manager has a smart download logic accelerator that features intelligent dynamic file segmentation and safe multipart downloading technology to accelerate your downloads.

    Well easy way to download, follow the tutorial below
    First you just click download above> wait 5 Seconds> click SKIP AD> click DOWNLOAD

    How to Install IDM 6:14 Build 5 :


    1. Download IDM 6:14 Build 5 Full Patch on Top
    2. Open the file "IDM 6:14 Build 5 Full Patch Up"
    3. Click 2x on idman614 Build 5.exe or idman614 Build 5 for the installation process
    4. After completion of register IDM window will appear, close the window.
    5. Open the file pacth "IDM 6:14 Build 5 Full Patch Such"
    6. Click 2x on Patch IDM
    7. Click the Patch
    8. Enter your first name, then last name
    9. Click next / done
    10. The process is completed
    And Your downloading so faster 


    Read More..

    Friday, April 1, 2016

    Android for Work welcomes new friends



    Editors note: To gain access to the latest Android for Work news and updates, join our mailing list. 

    Android for Work launched earlier this year to help companies put the world’s most popular mobile OS to work for them. The response has been overwhelmingly positive: today, more than 10,000 businesses, including the World Bank, the U.S. Army and Guardian Life Insurance Company are testing, deploying or using Android for Work.

    The Android for Work program took off with the help of our partners across the Android ecosystem, and today we’re expanding the family to 40 companies to continue the momentum, including new device manufacturers, application makers and management providers.
    And for the first time, mobile carriers are joining the Android for Work program. AT&T, Verizon, T-Mobile, Sprint, Rogers, Bell Canada, Telus Mobility and KT are now offering broad support for Android for Work, so people can soon turn to their mobile operators to take advantage of Android for Work’s integrated security, management and productivity solutions.

    The Android for Work program is also showcasing devices built for regulated industries, like government and healthcare, which have strict security and compliance requirements. Samsung, for example, offers some of the highest levels of government certification with its KNOX devices, while Blackphone by Silent Circle has built enhanced privacy and security features on top of the Android platform. You can check out our regulated devices page here to learn more about Samsung KNOX devices and Blackphone.

    All of this investment is designed to help businesses extend the power of mobility in more ways across more teams. And companies are indeed turning to Android for Work to drive that change: SAP uses Android for Work to streamline app distribution and expand support to many more Android devices, Woolworths is looking to standardize on Android for corporate devices, and Guardian Life Insurance Company deployed Android for Work to enable its employees and field agents to work from anywhere on their personal devices. "Choice is important,” says Daniel Johnson, Chief Technology Officer at Guardian Life. “With Android for Work were able to offer Android as a BYOD option in a more secure and manageable way."

    With its choice, flexibility and security, we believe Android is uniquely equipped to help businesses tap the full power of mobility. Together with our partners, we’re gearing up to make this a reality.

    Learn more by visiting google.com/work/android.
    Read More..

    Thursday, March 24, 2016

    Android Revolution Needs Your Help! Setting up new servers

    Android Revolution HD for various devices has been downloaded more than 4 million times during last 3 years (from official sources). With the average of 1GB  size per ROM, that means almost 4000 terabytes of data we transferred to our users in 3 years, not to count other files (mods, kernels, fixes etc.). With such amount of data this places Android Revolution HD among the most popular custom ROMs.

    This also brought us some problems – most servers we used to date can’t manage such traffic. Weve also lost our androidrevolution.nldomain lately, that’s why you can’t download anything at the moment (we hope to fix that as soon as possible).

    Now we need to set up some new servers and bring back download links to life. For that we’ll need some extra funds. If you’d like to contribute, please use the PayPal donation link below. We want to ensure that every time you click on the download link you’ll be able to get what you want within minutes, without waiting for hours until download is complete! Any amount counts and helps!



    With that being said, I cant thank enough to Lizard, Android Revolution member since the beginning whos taking technical care of the servers. You wont be able to download anything without him!

    For latest news follow Android Revolution HD on popular social platforms:

    Read More..

    Transforming the way we work with Android for Work



    Editors Note: Android for Work Live airs today at 11AM PST. Register here.

    The Internet, like previous transformational technologies, emerged as a new and distinct tool before becoming business as usual.

    Mobile at work is going through a similar transition, with organizations now interweaving the next generation of mobile productivity into the lives of every employee and through every workflow.

    Android for Work: a shared vision for business mobility

    We launched Android for Work earlier this year to help businesses put Android’s choice and flexibility to work for them. More than a “packaged” product, Android for Work is a dynamic, expanding ecosystem of more than 80 partners with a shared vision for transforming business.

    Android for Work expands on the platform’s multi-layered security, capabilities and APIs, and provides powerful ways for manufacturers, developers, mobility managers and carriers to create the next generation of solutions for work, beyond basic email and productivity.

    Marshmallow: BYOD and single use

    After enabling “bring your own device” (BYOD) use cases and streamlining application deployment in Lollipop, we’ve taken the next step to improve enterprise mobility in Marshmallow. Workers now enjoy an enhanced BYOD experience with work status notifications and contacts integration. Administrators can simplify certificates, seamlessly set up new accounts, apply more granular permissions and provision new users using NFC.

    New work APIs in Marshmallow also enable easy deployment and management of devices in dedicated single-use scenarios, such as defined tasks, kiosks and ATMs.

    Going deep on security

    Android for Work builds upon the expanded security features such as runtime permissions, verified boot, hardware-isolated security, SELinux, application sandboxing and protections within Google Play Services.

    By going deep on security, it made sense that most security-conscious companies such as BlackBerry are collaborating with us to support Android for Work. Additionally, following the announcement of its first Android device, PRIV, BlackBerry announced their support for monthly scheduled updates, matching the Android patch schedule. You can find details of their announcement here.

    Together along with Nexus, Samsung and Blackphone by Silent Circle, patching is predictable and responsive.

    The freedom to choose

    Businesses are responding to Android’s choice and flexibility, enjoying the range of price points and form factors – from the ultra stylish to the ultra rugged. They’re also deploying an array of business apps and building their own custom solutions on the open framework.

    More than 19,000 organizations are already testing, deploying or using Android for Work. During Android for Work Live, we’ll showcase how new customers including Guardian Life Insurance deploys Android for BYOD; Peninsula Hotels provides guests with Android tablets for room controls, information and service; and Safelite repair technicians use Samsung devices for communication, scanning, navigation, payment and training.

    Android for Work Pilot Program for select EMM partners

    For up to 3000 companies, who set up Android for Work with a participating EMM in their production network, between now and December 31, 2015, we’ll be providing a Nexus 5X. Learn more.
    Read More..

    Saturday, March 19, 2016

    Our new global program for Developer Agencies

    Posted by Uttam Kumar Tripathi, Global Lead, Developer Agency Program

    The Google Developers team supports a number of global programs geared up to help make developers successful. Google Developer Groups aims to build and foster local developer communities globally, while Women Techmakers provides visibility, community and support for women in tech. Elsewhere, Launchpad offers resources for startups to help them launch and scale their apps. Through all these programs, our goal has been to positively impact the experience of developers and startups globally as they build products and apps on Google and other open source technologies.

    In today’s app economy, a large number of mobile and web apps are created by developer agencies globally. These agencies cater to the needs of large enterprises and small startups by helping them build applications that range from proof of concepts to fully featured apps. Because developer agencies play a central role in the success of the ecosystem in many markets, it was important to build a comprehensive program that provided more dedicated support.

    That’s why we’re excited to announce our new Google Developers Agency Program. Through this program we will work with developer agencies around the world, providing them with dedicated access to training and events, customized online resources, best practices, and developer support. Ultimately, we want to help agencies build the highest quality apps and products using Google technologies, ensuring they’re at the top of their game and delivering the best app experiences for their clients’ needs.

    Soon, we’ll also provide a directory of the agencies we’re working with on our website. If you’re a client looking for an agency to help with your app requirements, you’ll be able to easily find trained agencies who have access to resources from Google for the job.



    The program will first roll out in India, UK, South East Asia and the US. We plan to expand to more countries throughout 2016. To learn more about this initiative and show interest, visit developers.google.com/agency.

    Read More..

    Friday, March 18, 2016

    Ski Safari v1 4 0 Full

    ? ? ? ? ? "Great! - Love everything about this game. The graphics are excellent, the controls easy to use, and best of all, its endlessly fun!"
    ? ? ? ? ? "How can you go wrong ! - This game is smooth as a sheet of ice !! Love it"
    Welcome to Ski Safari!
    Ski Safari is where Animals, Avalanches and Action come together to create a new casual gameplay experience.

    Our deep sleeping hero has to stay ahead of a relentless avalanche that threatens the local mountainsides. Sven, as we like to call him, can use animals to aid his escape from an icey end. Each of the hillside animals have different attributes to make a speedier escape. Penguins glide further, Yetis are tougher, Eagles soar to great heights, each of these can provide useful advantage for Sven. Sometimes on the slopes Sven can find fast Snowmobiles which can ferry multiple animals a maintain a very high top speed.
    Staying ahead of the avalanche has its advantages and perks. Completing objectives can level up Sven and increase his score multiplier. Riding animals, performing backflips add to the score and with an increased score multiplier Sven will rocketing up the highscore table with ease.

    Whats New
    Welcome to the North Pole!
    Its that time of year where reindeer and snowballs collide... well... at least in Ski Safari they do.
    Weve crammed loads of things in this update, including:
    • new boosters!
    • new costumes and scarves!
    • new snowmobiles!
    • new challenges and ranks!
    • tweaks and fixes
    Once you are out in wilds of the North Pole be on the look out for the elusive Rudolph reindeer, its the one with the shiny red nose... some would even say it glows.
    Happy holidays and have fun!

    Read Here: How to Install APK

    Requirements: Android 2.0.1+
    File Size: 37 MB
    Download Link: Mediafire.com
    Read More..

    Saturday, February 20, 2016

    Download Kart Racing Ultimate v1 0 Android

    Are you a fan of racing excitement? If the answer is yes, you’ll be sure to play Kart Racing Ultimate. Play Carting Championship will experience the professionalism and drive to win have to be done by quickly. Do not forget a helmet!
    Kart-Racing
    Features of this Kart Racing Ultimate v1.0:
    Beautiful graphics rendering three-dimensional instantaneous
    Contains 20 different track to play
    The incredible speed and steering feel
    Do not forget that without control, speed means nothing!
    Kart-Racing-Ultimate-4 Kart-Racing-Ultimate-3 Kart-Racing-Ultimate-2 Kart-Racing-Ultimate-1

    File Size: 48.16 MB
    Requires Android: Android 2.3 or higher

    Read More..

    The future of Android Revolution HD


    Its been quite a long time since I updated some of custom ROMs for HTC One series devices. This weekend I was able to release 2 major update for the HTC One M8 and HTC One M9.

    Android Revolution HD 14.0 | High Quality & Performance | 2.10.401.1 | ARMv8 64
    Re-build from the beginning using latest 2.10.401.1 base
    De-odexed using latest tools with better arm64 support
    SuperSU updated to latest 2.52
    Updated Google apps
    Updated custom apps
    Updated HTC apps
    Sense Toolbox updated to latest 2.2.1
    Total ROM size reduced by almost 200MB
    Other minor changes and fixes
    Android Revolution HD 45.0 | ART | High Quality & Performance | Sense 7.0
    Based on the latest 4.16.401.13 update
    SuperSU updated to latest 2.52
    Updated Google apps
    Updated custom appsUpdated HTC apps
    Sense Toolbox updated to latest 2.2.1
    Total ROM size reduced by almost 200MB
    Other minor changes and fixes
    Now, the short story. If youre wondering whats the reason behind my little activity on the custom ROMs development field, its because last 4 months brought a lot of changes in my life. In June 2015 I became a proud father of the most beautiful girl in the world. As you can imagine, priorities changed :)


    Also, I got married with my fiancée few weeks ago. We planned this marriage since 2013, but as always, last few weeks of preparations were extremely busy. Plus the baby was already here :)

    Its worth to mention, that during last few years Android Revolution HD was the most popular custom ROM for high-end HTC devices. With a total number of 6.430.689 downloads (6,5 millions !!!) Android Revolution custom ROMs series became the biggest and most desirable custom ROM for the HTC high-end devices.

    Android Revolution HD will still be supported, and all projects will be still continued. I just cant spend as much time on it as I used to spend in the past. Plus the the real life business I own expanded and developed significantly, so I need to focus now on my family and work. Both needs me :)

    PS. Im thinking about getting a Nexus 6P as my next daily device, as soon as its available in my country. Are you considering Nexus 6P as your next device too? Would you like to run Android Revolution HD on it? Let me know, as Im trying to find out if its worth to start N6P custom ROM development.

    Do you have any questions or comments? Feel free to share! Also, if you like this article, please use media sharing buttons (Twitter, G+, Facebook) below this post!


    For latest news follow Android Revolution HD on popular social platforms:

    Read More..

    Friday, February 19, 2016

    Android example to list NetworkInterface



    MainActivity.java
    package com.blogspot.android_er.androidscannetworkinterface;

    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.ListView;
    import android.widget.Toast;

    import java.net.InetAddress;
    import java.net.NetworkInterface;
    import java.net.SocketException;
    import java.util.ArrayList;
    import java.util.Enumeration;

    public class MainActivity extends AppCompatActivity {

    private Button btnScan;
    private ListView listViewNI;

    ArrayList<String> niList;
    ArrayAdapter<String> adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btnScan = (Button)findViewById(R.id.scan);
    listViewNI = (ListView)findViewById(R.id.listviewni);


    niList = new ArrayList();
    adapter = new ArrayAdapter<String>(this,
    android.R.layout.simple_list_item_1, android.R.id.text1, niList);
    listViewNI.setAdapter(adapter);

    btnScan.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    new ScanNITask().execute();
    }
    });
    }


    private class ScanNITask extends AsyncTask<Void, String, Void> {

    @Override
    protected void onPreExecute() {
    niList.clear();
    adapter.notifyDataSetInvalidated();
    }

    @Override
    protected Void doInBackground(Void... params) {

    try {
    Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
    while (networkInterfaces.hasMoreElements()) {

    NetworkInterface thisInterface = networkInterfaces.nextElement();
    Enumeration<InetAddress> inetAddresses = thisInterface.getInetAddresses();
    if (inetAddresses.hasMoreElements()) {
    String niInfo = thisInterface.getDisplayName() + " ";

    while (inetAddresses.hasMoreElements()) {
    InetAddress thisAddress = inetAddresses.nextElement();
    niInfo += "--- ";
    niInfo += "Address: " + thisAddress.getAddress() + " ";
    niInfo += "CanonicalHostName: " + thisAddress.getCanonicalHostName() + " ";
    niInfo += "HostAddress: " + thisAddress.getHostAddress() + " ";
    niInfo += "HostName: " + thisAddress.getHostName() + " ";
    }

    publishProgress(niInfo);
    }


    }
    } catch (SocketException e) {
    e.printStackTrace();
    }

    return null;
    }

    @Override
    protected void onProgressUpdate(String... values) {
    niList.add(values[0]);
    adapter.notifyDataSetInvalidated();

    }

    @Override
    protected void onPostExecute(Void aVoid) {
    Toast.makeText(MainActivity.this, "Done", Toast.LENGTH_LONG).show();
    }
    }
    }


    activity_main.xml
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout


    android_layout_width="match_parent"
    android_layout_height="match_parent"
    android_padding="16dp"
    android_orientation="vertical"
    tools_context=".MainActivity">

    <TextView
    android_layout_width="wrap_content"
    android_layout_height="wrap_content"
    android_layout_gravity="center_horizontal"
    android_autoLink="web"
    android_text="http://android-er.blogspot.com/"
    android_textStyle="bold" />

    <Button
    android_id="@+id/scan"
    android_layout_width="match_parent"
    android_layout_height="wrap_content"
    android_text="Scan"/>
    <ListView
    android_id="@+id/listviewni"
    android_layout_width="match_parent"
    android_layout_height="wrap_content"/>
    </LinearLayout>


    Permission of "android.permission.INTERNET" is needed in AndroidManifest.xml

    Read More..

    Wednesday, February 17, 2016

    Android Goolge Translate Sekarang Tersedia Versi Offline

    Read More..

    Thursday, February 11, 2016

    Eclipse Set up and New Android Project

    The first steps of configuring Eclipse to create android applications and the steps involved in creating a first android project are very well described in this blog at the screencast site. Hence I am not repeating the same here.
    Read More..

    Wednesday, February 10, 2016

    Avast Free Antivirus New


    Virus and Spyware Attacks are now more rampant, therefore you need antispyware and antivirus. Avast Free Antivirus to protect / secure your PC and notebook from virus and spyware attacks. Avast Free Antivirus is the best free antivirus protection for your computer, currently available editions are FREE OF CHARGE for non-commercial & Home.

    • Features Include :
    1. Anti-spyware built-in
    2. web Shield
    3. Anti-rootkit built-in
    4. Automatic updates
    5. Strong self-protection
    6. virus Chest
    7. antivirus kernel
    8. System integration
    9. Simple User Interface
    10. Integrated Virus Cleaner
    11. Resident protection
    12. Support for 64-bit Windows
    13. P2P and IM Shields
    14. Internationalization
    15. network Shield

    • Description :
    1. Title: Avast! Free Antivirus 6.0.1367
    2. Filename: setup_av_free.exe
    3. File size: 61.23MB (64,207,032 bytes)
    4. Requirements: Windows 2000 / XP / 2003 / Vista / Windows7 / XP64 / Vista64 / Windows7 64
    5. Languages??: Multiple languages
    6. License: Non-Commercial Freeware

    Download (Here)

    Read More..

    Tuesday, February 9, 2016

    Android Eclipse link Error New Project

    I set up a new environment on my new laptop with Windows7 and jdk1.6.0_21 version. Did the initial setup with eclipse installation, android SDK installation, installing the ADT plugin on eclipse etc. I then imported all the android projects I had created so far. It worked perfectly fine.
    Next I created a simple project without any custom stuff, it failed to create with a link error as shown in the image below:

    After much trial and error, setting up everything afresh, changing or creating a new workspace, nothing seemed to work. I noticed that the Android package was not visible in the Java build path that you get to see in the project properties. So, finally I found a manual workaround to overcome this problem if you mandatorily want to continue working in the same workspace
    Solution: Same workspace:
    The manual resolution I found is to make a classpath entry in the .classpath file outside the eclipse environment.
    The .classpath file may have such an entry before you edit it:
    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
         <classpathentry kind="src" path="src"/>
         <classpathentry kind="src" path="gen"/>
         <classpathentry kind="output" path="bin"/>
    </classpath>

    So add an entry for the android framework to be included as shown below:
    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
         <classpathentry kind="src" path="src"/>
         <classpathentry kind="src" path="gen"/>
         <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
         <classpathentry kind="output" path="bin"/>
    </classpath>

    What actually corrupted my workspace, i have not yet figured out. However, while searching on the web for all possible solutions, I came across the announcement on the eclipse forums that Eclipse 3.3 to 3.6 on windows platform is not stable with the JDK version -  jdk1.6.0_21. Hence we need to either roll back to patch 20 or upgrade to 22. I have upgraded and see that eclipse is far more stable now.
    Please see this link for more details on the windows and jdk problem mentioned above:
    http://www.eclipse.org/forums/index.php?t=msg&th=171988&start=0&
    Solution: Different or new workspace:
    Just upgrade your JDK to jdk1.6.0_22 and point eclipse to use this as the default JDK. Create a new workspace and you are done. It fixes the problem.
    Hope this helps many not to waste time on searching a solution that is not to do with the way you are coding but with the environment set up itself. I had to spend quite a bit of my precious time before figuring this out. 
    Read More..