Implementing Android CI

Source: Internet
Author: User

CI has a very mature implementation in web-based application, which has accumulated a lot of excellent practice. But are these practices applicable on the Android platform? Does the known CI tool support Android well? Can Android CI also instantly feed the health of Android application? This article will show you how Android CI can be implemented by practicing, and it's time to build CI for our Android app.

First, what does the Android CI bring?

1 Upgrade of App Quality

In fact CI does not directly improve the quality of the app, but CI provides monitoring and feedback on the app, which enables continuous improvement of the app through continuous detection and feedback.

CI in the compilation phase, if there is a high frequency of compilation failure, because the code is not in accordance with the principle of atomic submission, the second is the local development environment is not clean, there is inconsistent with the CI environment, resulting in each submission can not submit all documents, always need to manually select the submission file.

In the testing phase of CI, failure is likely to indicate that the submission has broken the function or module associated with it. App through testing, is a feedback of app usability.

CI of the inspection phase will do a variety of code research, such as Checkstyle, Unit test coverage, code static bug analysis, these are the code quality detection, through these improved detection results, code quality will be improved.

CI will feedback the results of each link to the team, the team to improve the results of efforts, the quality of the app will naturally be improved. This is why the feedback link is so important in CI that it loses it and CI cannot play any role.

2) Risk reduction

CI informs the entire team of the current health status of the project, making the project situation transparent. Team members are concerned about the health of the project after receiving CI feedback, and the team is accustomed to taking responsibility for the quality of the app.

The emergence of bugs is always unavoidable, and it is hoped that these bugs will appear as soon as possible. Continuous testing can allow bugs to be discovered as early as possible. It will soon be possible to locate the bug introduction time and fix it. On the eve of the announcement, it is certain that the app has a deployment problem that will make everyone nervous. Continuous deploy can allow these problems to be exposed and resolved as early as possible.

3) Repeat steps to reduce

To get a scalable Android App, you need to go through a number of steps, such as compiling, testing, validating, deploying, and so on. In order to save the time of the package, reduce the consumption of resources, ensure that the steps are correctly implemented. CI can help the group build a process that can be executed repeatedly, and shorten the time by continuous optimization. Such a determined package step allows the developer to quickly complete the deployment in the local environment.

4 increase confidence in the product

The project works in a transparent environment where team members are concerned about the quality of the app and are trying to improve the health of the project. Such a concerted team status, I believe that the entire team's confidence in the project will also increase.

Ii. the difficulties faced by Android CI

The Android environment is unstable. The Android simulator has an unstable state of operation in the virtual machine.

The automation framework is not mature enough. Especially automated testing.

Unable to complete the automated deployment.

Some of the Android devices have low performance. Resource shortages are more pronounced when you need to run the function test on these devices.

Android is developing rapidly, bringing in multiple, larger versions of the difference. CI should be compatible with these editions.

Three or one step-by-step implementation of Android CI

The CI build chain on Android is consistent with other platforms, still containing compilation, testing, inspection, deploying phases, and feedback at every stage remain transparent to the entire team.

The sequencing of the steps in the CI should be performed in a shorter execution time. Short execution time is generally performed before the code is submitted, and the error rate is low, and should be performed as soon as possible. The failure would come earlier, with more things to verify before each CI failed to run. The work flow of CI in the figure above is formed on the basis of such a principle.

Related Article

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.