Translation Android Efficient development environment (Genymotion,gradle,andriod Studio)

Source: Internet
Author: User

Near 11, the project is close to the line, finally some debris time can see some blogs.

This blog is an Android developer Daniel Cyril Mottier wrote last year's blog, I translated it to share to the domestic like-minded friends, but also a good exercise opportunities for themselves.

The original blog address is: http://cyrilmottier.com/2013/06/27/a-productive-android-development-environment/, in the country can play open, see.

The translation of the original text is as follows:

Over the last 6 months, my Android development environment has changed a lot. If you've watched me on Google + or Twitter and read my recent tips on development (This is something you can focus on on Google + and Twitter if you've got the wall), you may have noticed these changes. I love to talk about UI and performance, but also seriously believe that tools are really critical in the process of friendly development and polishing Android apps. In this blog, I will share my own experience and the tools that I use to encode every day:

    • Ultra-fast virtual appliances: genymotion
    • Ide:android Studio with powerful features
    • Advanced Build System: Gradle

Developing stunning applications requires energy, passion, and dedication. But I also believe that the outstanding application comes from an outstanding development environment. Indeed, my problem is that the application is a mirror image of the tools used by developers. Running a smooth simulator results in faster testing, and in turn, faster testing results in more sophisticated applications. Similarly, intuitive and user-friendly development tools will inspire and strengthen the developer's ui/ux design, and more importantly, these designs will be reflected in their products.

To put it simply, I am convinced that the quality of the development tools we are using is a direct result of the quality of the applications we are creating, and that, in turn, that is the case. I've always been disappointed at how crude and primitive Android development tools are, but there seem to be signs that Google is now moving unusually clearly to sophisticated and productive development tools. In addition, I was excited to see a number of companies such as Genymobile are helping to transform the ecosystem in this direction.

Genymotion

You may well be ignorant of the name genymotion. But I assure you this is not going to last long. Once you try Genymotion, you will soon learn to remember it. In short, genymotion is a full-featured alternative to the default Android emulator (the default emulator has become unusable due to the recent severe performance loss of the Android version!). Genymotion may be downloaded from http://www.genymotion.com/. Genymotion is based on virtual Box, so it will be virtualized instead of emulating an Android device.

I don't think of myself as a virtualization/simulation expert, but it seems that impersonation is no longer a valid option. As for today, the IOS SDK provides the simulator (aiming at the host architecture to compile the app), and the latest Windows Phone SDK binds the Windows Phone emulator, which is actually a virtual machine. I feel that virtualization is the best solution for the following two issues: the inherent performance problems of the simulator and the often-criticized "binary differences" problem.

If you've tried genymotion, you know the key difference between the default emulator, hardware device, and genymotion: Speed! Genymotion is extremely fluid, making Android development a pleasure. Genymotion removed the burden of moving from a workstation to a hardware device for testing. Thanks to this little clap-and-pat Software, all the development on my workstation has been shown to be so smooth.

To prove how fast genymotion is, I ran a small test project on my hardware Device (Nexus 4) and a genymotion instance running on my MacBook Pro, respectively, using some instruction tests. These output messages are self-explanatory, and the instructions run on the genymotion test are at least 10 times times faster than the Nexus 4.

The first time I tried to use genymotion, it was still known as ANDROVM's name. At the time, the product was clearly a tool with great potential. However, the lack of sanding and the obscurity of the setting make it linger in most development environments. The latest software version clearly shows that Genymobile (the company behind Genymotion) has decided to push genymotion to the next level.

After seeing the Genymotion team's novel presentation at Droidcon France, I decided to try it again. After less than one hours of playing and testing, I decided to use it every day I developed it. Thanks to Genymotion, my personal hardware devices only show the need for testing at the current/final development stage.

Speed is one of the most important aspects of genymotion. Then, it provides some other good features:

    • tested and reliable ROMs: This team is working hard to ensure that the Genymotion ROM is compatible with CTS. They have recently announced that Genymotion has passed the AOSP CTS 99.4%. We can expect that the genymotion ROM will soon be fully compatible with CTS.
    • Hardware Management : You can already simulate a lot of things in a cool way. One of my favorite things is GPS sensor management. You only need to move a marker on the map, and then genymotion send the appropriate GPS location. This is extremely handy when developing positioning applications.
    • support for Google Play Services: Some of the genymotion ROMs that are bundled with Google apps have exactly the same features as real devices. As a result, you can install and test frameworks like Google Play services (frameworks). It allows you to test your apps, even if they use the Google Map API v2 or the location API.
    • fully integrated Andorid studio and Eclipse: Genymotion shows a simple UI in the blink of an eye when starting or creating a virtual appliance. If you don't like this little piece of software, you can choose to use the Eclipse or Android Studio/intellij plugin.
    • platform Independence : Just as you can develop Android apps on Windows, Mac OS x, or Linux, Genymotion is accompanied by versions of different platforms: one for each platform/architecture.
    • support for Shell Operations : Genymotion provides a minimal shell that allows you to change the state of the sensor in a scripted way.

We must be aware that having a fast virtual device doesn't mean you don't have to test on the initial device. It's a great opportunity to build prototypes and sharpen applications in a faster way. However, real-world equipment is the best way to keep everything running smoothly in real-world situations.

Genymotion still has some shortcomings: a small amount of bugs, missing features, and a disappointing UI (I think, after all, it's just a beta version). But the admirable fast, true potential, and easy integration into the development environment make it a wise choice in your toolkit. I personally know some of the guys in the Genymotion group and have confidence in the future of Genymotion. They work hard to improve the tool--one that is likely to be the biggest advance in simulation/virtual/simulation technology since the release of the Android2008 year.

Android Studio

About 5 years ago, I started developing my first Andriod application: a campus project. At that time, the framework could only be used as an early flip. I chose eclipse as my primary IDE for the following two important reasons:

    • Eclipse is the IDE required in the computer science class.
    • Eclipse is the only IDE that binds the Android plugin.

About 6 months ago, I turned to IntelliJ. A little closer (after Google I/O), it turned to Android Studio. The reason behind these shifts is clear. In fact, for most of my projects, eclipse is beginning to become something of a nuisance. Primarily, eclipse runs too slowly and crashes frequently. After almost 5 years of Eclipse, it's not easy but painless to turn to Intellij/android studio. This learning curve is very impressive: getting used to new shortcuts, new looks, and some of the main features of the IDE cost me a whole week.

In addition to fast and stable, Android studio has several advantages over eclipse, you can download, play this software or watch Google I/O keynote and "What's new in Android development tools" Session Tor Norbye & Xaview Duchohet to find.

When Android studio in development is still "I/O Preview", the version number is 0.1.6. The version number may not involve the final version, and Android Studio relies on secular shoulders. If you don't like eclipse or are looking for something new, you should definitely try a andrioid Studio.

Gradle Build System

At the Google I/O conference, I want to learn about all the improvements to the Andriod development tools. I obviously took part in all the discussions about the new Gradle-based build system. Although the Gradle plug-in is still in development (0.4.3 at development time), I have been strongly motivating people to use it in their projects.

I recently shifted all of my projects to the Gradle plugin. The reason behind this is that the new build system will ultimately deal with all the features that Android developers might need. In addition, Android Studio combines gradle for best use. Again, this plugin is certainly not perfect, but I'm sure the Android tools team is trying to polish the new build system.

Some of the features I admire most are:

    • Package Rename : This is especially useful if you want your app to have both beta and release (or even more) on the same device.
    • Strong dependency Management : Although this is not new for MAVEN users, it is a huge leap for developers using the current ant-based build system.
    • refine and develop similar builds : The new build system is designed to build on a sustainable server that is similar to those built on a developer's own workstation.
    • easy-to-use and shareable signature configuration : The new plug-in shares the signature configuration of the project. This is extremely useful if you want to debug keys that can be used by all developers in your team.
    • product taste (flavors): Taste is a special version of the application, this application can use different package name, version name and version number. This is probably useful when you need a few apk outputs: free and paid editions.

If you want to send feedback, report bugs, ask for help, and so on, I encourage you to join Adt-dev Google group. The odds are that some portrait Xavier Ducrohet (Google Engineer for Android Tools group) will help you (of course, in case you ask a complete and accurate question). Here are some important links to help you turn to your Gradle-based build system:

    • New features of the latest build system: Http://tools.android.com/tech-docs/new-build-system
    • New Android SDK build system: http://www.youtube.com/watch?v=LCJAgPkpmR0
    • New build system Documentation: Http://tools.android.com/tech-docs/new-build-system/user-guide
    • Gradle wrapper document (Google recommended): http://www.gradle.org/docs/current/userguide/gradle_wrapper.html
    • Compressed file with lots of interesting instances: Http://tools.android.com/tech-docs/new-build-system/gradle-samples-0.4.2.zip

Summarize:

All the tools described by Benbow make Android development systems more efficient and productive than ever before. They are all working in progress, but have already proven that Android has a bright future. In addition to the very powerful genymotion from Genymobile, new Google-powered tools such as Andrid Studio and the new Gradle build system are a smart move for self-certified Android development tools.

If you're still thinking about what to do, my advice to you is: don't hesitate, stop thinking, change your Android development environment by turning to these extremely sophisticated tools, and help these tools get better than they are today!

Ps:

Although Genymotion is well understood and self-evident, I still strictly believe that the Genymotion UI can be simpler. From a functional and characteristic point of view, Genymotion has been extremely good. But reducing the friction caused by the current inefficient UI can make genymotion truly revolutionary and groundbreaking.

Some APIs and frameworks like the Google Maps Android API require an API key that the app uses to sign the APK. Sharing keys between developers at the project level may alleviate the burden of managing several API keys.

***********************************************************

This blog post is only a summary of the author's experience, generally speaking, there is no two goods, but also worth reading, the same can also be on the Android development of Daniel's usual mysterious work "whole picture".

Translation Android Efficient development environment (Genymotion,gradle,andriod Studio)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.