Friday, September 6, 2013
Get start with Android apps development
Sunday, August 18, 2013
Best and Top Smartphones under 25000
LG Nexus 4
The Main features of this phone are
- Android v(4.2) Jelly Bean OS, first promised phone in nexus to receive future OS Updates
- Equipped with 8MP camera includes auto focus Primary and 1.3 MP secondary
- 4.7 True IPS Plus Screen with 1280x780 pixels
- Powered with 1.5 GHz quad core Qualcomm Snapdragon S4 Processor
- Whooping 2GB RAM and 16GB Internal Memory
- It includes Bluetooth 4.0, WiFi and NFC
- It came with 2100mAh Battery which ease your power problems
- No Customisation of OS by LG, you can enjoy pure android experience
- The Price of the Mobile is Rs 24,700/- only
- Android v(4.1) Jelly Bean OS, Runs nice with Sony User Interface
- Equipped with 8MP primary camera and 0.3 MP Secondary Camera
- 4.6 TFT Capacitive HD Touch Screen which mesmerises you
- Powered with 1.7 GhZ Qualcomm Snapdragon S4 Processor
- Whooping 1GB RAM and Expandable memory upto 32 GB
- It Includes Bluetooth, WiFi and ecompass even more features that will blow your mind
- The price of the Mobile is Rs 20,300/- only
- Android v(4.2) Jelly Bean OS, Most importantly an Dual Sim Phone
- Equipped with 8MP camera which has Auto focus Function too
- 5 HD IPS Screen with impressive color reproduction
- Powered with 1.2 Quad Core Processor , good for MultiTasking
- Whooping 1GB RAM
- It includes Bluetooth 4.0, WiFi, and A-GPS too
- It came with 2500mAh Battery which is very useful for Gadget lovers in power cut problems
- The Price of the mobile is Rs 22,300/- only
- Windows 8 OS, good for Nokia Lovers
- Equipped with 8 MP Camera and it supports secondary camera too
- 4.3 AMOLED Clear Back capacitive touch screen which runs perfect in Windows UI
- Powered with 1.5 GhZ Dual core Krait Processor, good enough for speed tasking
- Whooping 1GB RAM and 64GB Expandable
- It has all connectivity options like Bluetooth, WiFi, and Proximity Sensor too
- It came with 1650 mAh battery liitle bit disappointing, but it has Qi Wireless charging feature
- The Price of the mobile is Rs 22,500/- only
- Apple iOS, Every Tech lover loves this
- Equipped with 5MP camera for taking HD pictures and Videos too
- 3.5 inches IPS Screen with 640x960 pixels, small enough when compared with top list
- Powered with 1 GHz Cortex-A8 CPU which was Coupled with PowerVR SGX535 GPU
- It has all connectivity options like WiFi and Bluetooth (2.1)
- It came with a 1420 mAh Battery but well optimised phone which runs better than other
- The Price of the Mobile is Rs 24,500/- Only
Wednesday, August 14, 2013
Some SecureRandom Thoughts
Posted by Alex Klyubin, Android Security Engineer
The Android security team has been investigating the root cause of the compromise of a bitcoin transaction that led to the update of multiple Bitcoin applications on August 11.
We have now determined that applications which use the Java Cryptography Architecture (JCA) for key generation, signing, or random number generation may not receive cryptographically strong values on Android devices due to improper initialization of the underlying PRNG. Applications that directly invoke the system-provided OpenSSL PRNG without explicit initialization on Android are also affected. Applications that establish TLS/SSL connections using the HttpClient and java.net classes are not affected as those classes do seed the OpenSSL PRNG with values from /dev/urandom.
Developers who use JCA for key generation, signing or random number generation should update their applications to explicitly initialize the PRNG with entropy from /dev/urandom or /dev/random. A suggested implementation is provided at the end of this blog post. Also, developers should evaluate whether to regenerate cryptographic keys or other random values previously generated using JCA APIs such as SecureRandom, KeyGenerator, KeyPairGenerator, KeyAgreement, and Signature.
In addition to this developer recommendation, Android has developed patches that ensure that Android’s OpenSSL PRNG is initialized correctly. Those patches have been provided to OHA partners.
We would like to thank Soo Hyeon Kim, Daewan Han of ETRI and Dong Hoon Lee of Korea University who notified Google about the improper initialization of OpenSSL PRNG.
Update: the original code sample below crashed on a small fraction of Android devices due to /dev/urandom not being writable. We have now updated the code sample to handle this case gracefully.
/*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will Google be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, as long as the origin is not misrepresented.
*/
import android.os.Build;
import android.os.Process;
import android.util.Log;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;
import java.security.Provider;
import java.security.SecureRandom;
import java.security.SecureRandomSpi;
import java.security.Security;
/**
* Fixes for the output of the default PRNG having low entropy.
*
* The fixes need to be applied via {@link #apply()} before any use of Java
* Cryptography Architecture primitives. A good place to invoke them is in the
* application's {@code onCreate}.
*/
public final class PRNGFixes {
private static final int VERSION_CODE_JELLY_BEAN = 16;
private static final int VERSION_CODE_JELLY_BEAN_MR2 = 18;
private static final byte[] BUILD_FINGERPRINT_AND_DEVICE_SERIAL =
getBuildFingerprintAndDeviceSerial();
/** Hidden constructor to prevent instantiation. */
private PRNGFixes() {}
/**
* Applies all fixes.
*
* @throws SecurityException if a fix is needed but could not be applied.
*/
public static void apply() {
applyOpenSSLFix();
installLinuxPRNGSecureRandom();
}
/**
* Applies the fix for OpenSSL PRNG having low entropy. Does nothing if the
* fix is not needed.
*
* @throws SecurityException if the fix is needed but could not be applied.
*/
private static void applyOpenSSLFix() throws SecurityException {
if ((Build.VERSION.SDK_INT < VERSION_CODE_JELLY_BEAN)
|| (Build.VERSION.SDK_INT > VERSION_CODE_JELLY_BEAN_MR2)) {
// No need to apply the fix
return;
}
try {
// Mix in the device- and invocation-specific seed.
Class.forName("org.apache.harmony.xnet.provider.jsse.NativeCrypto")
.getMethod("RAND_seed", byte[].class)
.invoke(null, generateSeed());
// Mix output of Linux PRNG into OpenSSL's PRNG
int bytesRead = (Integer) Class.forName(
"org.apache.harmony.xnet.provider.jsse.NativeCrypto")
.getMethod("RAND_load_file", String.class, long.class)
.invoke(null, "/dev/urandom", 1024);
if (bytesRead != 1024) {
throw new IOException(
"Unexpected number of bytes read from Linux PRNG: "
+ bytesRead);
}
} catch (Exception e) {
throw new SecurityException("Failed to seed OpenSSL PRNG", e);
}
}
/**
* Installs a Linux PRNG-backed {@code SecureRandom} implementation as the
* default. Does nothing if the implementation is already the default or if
* there is not need to install the implementation.
*
* @throws SecurityException if the fix is needed but could not be applied.
*/
private static void installLinuxPRNGSecureRandom()
throws SecurityException {
if (Build.VERSION.SDK_INT > VERSION_CODE_JELLY_BEAN_MR2) {
// No need to apply the fix
return;
}
// Install a Linux PRNG-based SecureRandom implementation as the
// default, if not yet installed.
Provider[] secureRandomProviders =
Security.getProviders("SecureRandom.SHA1PRNG");
if ((secureRandomProviders == null)
|| (secureRandomProviders.length < 1)
|| (!LinuxPRNGSecureRandomProvider.class.equals(
secureRandomProviders[0].getClass()))) {
Security.insertProviderAt(new LinuxPRNGSecureRandomProvider(), 1);
}
// Assert that new SecureRandom() and
// SecureRandom.getInstance("SHA1PRNG") return a SecureRandom backed
// by the Linux PRNG-based SecureRandom implementation.
SecureRandom rng1 = new SecureRandom();
if (!LinuxPRNGSecureRandomProvider.class.equals(
rng1.getProvider().getClass())) {
throw new SecurityException(
"new SecureRandom() backed by wrong Provider: "
+ rng1.getProvider().getClass());
}
SecureRandom rng2;
try {
rng2 = SecureRandom.getInstance("SHA1PRNG");
} catch (NoSuchAlgorithmException e) {
throw new SecurityException("SHA1PRNG not available", e);
}
if (!LinuxPRNGSecureRandomProvider.class.equals(
rng2.getProvider().getClass())) {
throw new SecurityException(
"SecureRandom.getInstance(\"SHA1PRNG\") backed by wrong"
+ " Provider: " + rng2.getProvider().getClass());
}
}
/**
* {@code Provider} of {@code SecureRandom} engines which pass through
* all requests to the Linux PRNG.
*/
private static class LinuxPRNGSecureRandomProvider extends Provider {
public LinuxPRNGSecureRandomProvider() {
super("LinuxPRNG",
1.0,
"A Linux-specific random number provider that uses"
+ " /dev/urandom");
// Although /dev/urandom is not a SHA-1 PRNG, some apps
// explicitly request a SHA1PRNG SecureRandom and we thus need to
// prevent them from getting the default implementation whose output
// may have low entropy.
put("SecureRandom.SHA1PRNG", LinuxPRNGSecureRandom.class.getName());
put("SecureRandom.SHA1PRNG ImplementedIn", "Software");
}
}
/**
* {@link SecureRandomSpi} which passes all requests to the Linux PRNG
* ({@code /dev/urandom}).
*/
public static class LinuxPRNGSecureRandom extends SecureRandomSpi {
/*
* IMPLEMENTATION NOTE: Requests to generate bytes and to mix in a seed
* are passed through to the Linux PRNG (/dev/urandom). Instances of
* this class seed themselves by mixing in the current time, PID, UID,
* build fingerprint, and hardware serial number (where available) into
* Linux PRNG.
*
* Concurrency: Read requests to the underlying Linux PRNG are
* serialized (on sLock) to ensure that multiple threads do not get
* duplicated PRNG output.
*/
private static final File URANDOM_FILE = new File("/dev/urandom");
private static final Object sLock = new Object();
/**
* Input stream for reading from Linux PRNG or {@code null} if not yet
* opened.
*
* @GuardedBy("sLock")
*/
private static DataInputStream sUrandomIn;
/**
* Output stream for writing to Linux PRNG or {@code null} if not yet
* opened.
*
* @GuardedBy("sLock")
*/
private static OutputStream sUrandomOut;
/**
* Whether this engine instance has been seeded. This is needed because
* each instance needs to seed itself if the client does not explicitly
* seed it.
*/
private boolean mSeeded;
@Override
protected void engineSetSeed(byte[] bytes) {
try {
OutputStream out;
synchronized (sLock) {
out = getUrandomOutputStream();
}
out.write(bytes);
out.flush();
} catch (IOException e) {
// On a small fraction of devices /dev/urandom is not writable.
// Log and ignore.
Log.w(PRNGFixes.class.getSimpleName(),
"Failed to mix seed into " + URANDOM_FILE);
} finally {
mSeeded = true;
}
}
@Override
protected void engineNextBytes(byte[] bytes) {
if (!mSeeded) {
// Mix in the device- and invocation-specific seed.
engineSetSeed(generateSeed());
}
try {
DataInputStream in;
synchronized (sLock) {
in = getUrandomInputStream();
}
synchronized (in) {
in.readFully(bytes);
}
} catch (IOException e) {
throw new SecurityException(
"Failed to read from " + URANDOM_FILE, e);
}
}
@Override
protected byte[] engineGenerateSeed(int size) {
byte[] seed = new byte[size];
engineNextBytes(seed);
return seed;
}
private DataInputStream getUrandomInputStream() {
synchronized (sLock) {
if (sUrandomIn == null) {
// NOTE: Consider inserting a BufferedInputStream between
// DataInputStream and FileInputStream if you need higher
// PRNG output performance and can live with future PRNG
// output being pulled into this process prematurely.
try {
sUrandomIn = new DataInputStream(
new FileInputStream(URANDOM_FILE));
} catch (IOException e) {
throw new SecurityException("Failed to open "
+ URANDOM_FILE + " for reading", e);
}
}
return sUrandomIn;
}
}
private OutputStream getUrandomOutputStream() throws IOException {
synchronized (sLock) {
if (sUrandomOut == null) {
sUrandomOut = new FileOutputStream(URANDOM_FILE);
}
return sUrandomOut;
}
}
}
/**
* Generates a device- and invocation-specific seed to be mixed into the
* Linux PRNG.
*/
private static byte[] generateSeed() {
try {
ByteArrayOutputStream seedBuffer = new ByteArrayOutputStream();
DataOutputStream seedBufferOut =
new DataOutputStream(seedBuffer);
seedBufferOut.writeLong(System.currentTimeMillis());
seedBufferOut.writeLong(System.nanoTime());
seedBufferOut.writeInt(Process.myPid());
seedBufferOut.writeInt(Process.myUid());
seedBufferOut.write(BUILD_FINGERPRINT_AND_DEVICE_SERIAL);
seedBufferOut.close();
return seedBuffer.toByteArray();
} catch (IOException e) {
throw new SecurityException("Failed to generate seed", e);
}
}
/**
* Gets the hardware serial number of this device.
*
* @return serial number or {@code null} if not available.
*/
private static String getDeviceSerialNumber() {
// We're using the Reflection API because Build.SERIAL is only available
// since API Level 9 (Gingerbread, Android 2.3).
try {
return (String) Build.class.getField("SERIAL").get(null);
} catch (Exception ignored) {
return null;
}
}
private static byte[] getBuildFingerprintAndDeviceSerial() {
StringBuilder result = new StringBuilder();
String fingerprint = Build.FINGERPRINT;
if (fingerprint != null) {
result.append(fingerprint);
}
String serial = getDeviceSerialNumber();
if (serial != null) {
result.append(serial);
}
try {
return result.toString().getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
throw new RuntimeException("UTF-8 encoding not supported");
}
}
}
Sunday, July 21, 2013
Best online websites that make your android app
There are Lot of Online websites there to make an Android app without any software installation, just by following their instructions in their website at Free of Cost. Let us see those top websites which make your path easier to travel on your first android app development
HOW TO MAKE ANDROID APPS ONLINE WITHOUT ANY SOFTWARE
1) Mobincube
- The Mobincube is an online platform for making your android apps, it also supports the iOS, Blackberry, Windows Apps making.
- No need of Technical knowledge, user friendly and worth to try
2) Ibuildapp
- The ibuildapp is better than Mobincube because it has more advanced features, It is an Perfect tool for making your smartphone app in any platform
- Coding is not required, more than 300k apps are built by this website
- The Appyet is Good source for your online app making, which takes roughly 5 to 10 Minutes for creating your app
- It support Html5, Rss/Atom and Podcast which users might think about adding, So Think once about Appyet on your app making
- The Appfurnace is well optimised website, gives user affordable pricing on their app making, free sign up and it suits ideally for Small Business Holders
- It also supports other platforms, so Try these app builder also
- The Simple online tool that will give your android app as you wish in a few clicks
- It had the facility to test your android apps on their website, so why late try this also
Wednesday, March 20, 2013
Google Keep--Save what’s on your mind
To solve this problem we’ve created Google Keep. With Keep you can quickly jot ideas down when you think of them and even include checklists and photos to keep track of what’s important to you. Your notes are safely stored in Google Drive and synced to all your devices so you can always have them at hand.
If it’s more convenient to speak than to type that’s fine—Keep transcribes voice memos for you automatically. There’s super-fast search to find what you’re looking for and when you’re finished with a note you can archive or delete it.
Pro tip: for adding thoughts quickly without unlocking your device there's a lock screen widget (on devices running Android 4.2+).
Google Keep is available on Google Play for devices running Android 4.0, Ice Cream Sandwich and above. You can access, edit and create new notes on the web at http://drive.google.com/keep and in the coming weeks you'll be able to do the same directly from Google Drive.
Posted by Katherine Kuan, Software Engineer
Wednesday, January 18, 2012
Orweb: Proxy+Privacy Browser v0.2.2 - Download APK
![]() ![]() | Description Orweb is a privacy enhanced web browser that support proxies. |
Sunday, January 15, 2012
Zirco Browser v0.4.3 - Download APK
![]() ![]() | Description Zirco is an open-source browser for Android. |
Friday, January 13, 2012
Live TV (Flash) v2.7 - Download APK
Google Maps v6.0.3 - Download APK
Market v3.4.4 - Download APK
![]() ![]() | Description The default Android Market application. Download applications from the official Android Market that came with your phone. |
Wednesday, January 11, 2012
Facebook Messenger v1.5.005 - Download APK
Moviefone - Movies & Showtimes v1.8.43.2 - Download APK
Paint Joy - Movie Your Drawing v1.9.1 - Download APK
![]() ![]() | Description Free your creative with Paint Joy! |
Paper Toss v1.0.9 - Download APK
![]() ![]() | Description The hit game has finally arrived for Android! |








.jpg)

.jpg)

.jpg)































