There is another small problem. Which operating system do most companies doing Android development use now?
The answer is Both. From the perspective of Android application development alone, it has limited relationship with what operating system your computer uses. Both ADT and Android Studio are multi-platform. My own migration path is Windows -> Linux -> Mac (Now).
If the main purpose is to learn Android application development, first go here: http://developer.android.com/training/index.html
Going through the tutorial will save you a lot of detours.
In addition, you should go through Android Design to have a general understanding of the design of Android App.
PS: Finally, I included some private goods. If you want to see the Chinese version, here: http://mirrors.segmentfault.com/adchs/ is the version translated by me and @Sun Junwen:-)
Also PS: Although it has limited relevance to this question, it is recommended to learn Linux. You will naturally gain unexpected gains through constant tossing. "If you want to learn poetry, your skills lie in poetry."
To develop android in Linux environment, you need to be familiar with some common command lines of Linux and commonly used replacement software. Linux programming is indeed more popular now!
I am also an android enthusiast. In my opinion, the application level development of android uses Java, which is basically independent of the operating system. Linux can learn about processes, files, network communications, etc. However, these are already perfectly packaged by Android
Linux is a paradise for programmers. After learning it, you will find how troublesome it is to develop with Windows.
My colleague needed to use ndk when making andorid some time ago, but compiling ndk requires makefile, and writing makefile is something that most developers under Linux will be exposed to. Various IDEs for Windows are packaged for you, so many developers don't know how to write makefiles, and they don't know how this program is compiled, packaged, and concatenated.
It is also very convenient to install third-party libraries. In Windows, you still need to download them online. If there are dependencies, you need to download them yourself. The Windows version of git is very difficult to use. . . Haha
I don’t want to complain about how difficult it is to use the Windows command line. Don’t tell me that the Windows graphical interface is very convenient to use. Many tools used by developers do not provide graphical interfaces. I think To use it you must use the command line. It is most convenient for developers to learn to use the command line, and there are graphical interface tools in Windows, and they are basically available in Linux (except for MS’s own set).
So I think, unless there is a limited development platform, the efficiency of development under Linux will mostly be higher than that under Windows, and it is also convenient to develop.
As a developer who has given up using Windows, I say that the Linux/Mac environment has no attribute bonus for the vast majority of Android development. (If I have to say yes, does it count if it is convenient to use Git?)
The current mainstream Android development situation can be divided into three categories:
Developed using Java
Developed using C/C++ (using JNI)
Use HTML5, JavaScript and other web technologies to create Web Mobi App (front-end technology will be used)
As for other non-mainstream development languages under android such as Ruby and Commom Lisp, I won’t mention them.
The above can be done using ADT or Android Studio.
PS: A friend uses VS to write C++ all day long in the company for Android development.
For development, the nix platform has advantages, it is flexible and powerful. And when Android development involves its source code or other low-level things, you can only use nix. Learn Linux. After a while, you will know how pleasant it is to develop on Linux. You can be exposed to a lot of knowledge that is not involved in Windows, which is very beneficial to personal growth. Microsoft's products are simple and easy to use, improve productivity, and make programmers cheaper, but they are not powerful enough for developers,
The answer is Both. From the perspective of Android application development alone, it has limited relationship with what operating system your computer uses. Both ADT and Android Studio are multi-platform. My own migration path is Windows -> Linux -> Mac (Now).
If the main purpose is to learn Android application development, first go here: http://developer.android.com/training/index.html
Going through the tutorial will save you a lot of detours.
In addition, you should go through Android Design to have a general understanding of the design of Android App.
PS: Finally, I included some private goods. If you want to see the Chinese version, here: http://mirrors.segmentfault.com/adchs/ is the version translated by me and @Sun Junwen:-)
Also PS: Although it has limited relevance to this question, it is recommended to learn Linux. You will naturally gain unexpected gains through constant tossing. "If you want to learn poetry, your skills lie in poetry."
Developing Android Linux or Apple first?
The recruitment information you saw must have been copied by HR
To develop android in Linux environment, you need to be familiar with some common command lines of Linux and commonly used replacement software. Linux programming is indeed more popular now!
I am also an android enthusiast. In my opinion, the application level development of android uses Java, which is basically independent of the operating system. Linux can learn about processes, files, network communications, etc. However, these are already perfectly packaged by Android
Linux is a paradise for programmers. After learning it, you will find how troublesome it is to develop with Windows.
My colleague needed to use ndk when making andorid some time ago, but compiling ndk requires makefile, and writing makefile is something that most developers under Linux will be exposed to. Various IDEs for Windows are packaged for you, so many developers don't know how to write makefiles, and they don't know how this program is compiled, packaged, and concatenated.
It is also very convenient to install third-party libraries. In Windows, you still need to download them online. If there are dependencies, you need to download them yourself. The Windows version of git is very difficult to use. . . Haha
I don’t want to complain about how difficult it is to use the Windows command line. Don’t tell me that the Windows graphical interface is very convenient to use. Many tools used by developers do not provide graphical interfaces. I think To use it you must use the command line. It is most convenient for developers to learn to use the command line, and there are graphical interface tools in Windows, and they are basically available in Linux (except for MS’s own set).
So I think, unless there is a limited development platform, the efficiency of development under Linux will mostly be higher than that under Windows, and it is also convenient to develop.
As a developer who has given up using Windows, I say that the Linux/Mac environment has no attribute bonus for the vast majority of Android development. (If I have to say yes, does it count if it is convenient to use Git?)
The current mainstream Android development situation can be divided into three categories:
As for other non-mainstream development languages under android such as Ruby and Commom Lisp, I won’t mention them.
The above can be done using ADT or Android Studio.
PS: A friend uses VS to write C++ all day long in the company for Android development.
For development, the nix platform has advantages, it is flexible and powerful. And when Android development involves its source code or other low-level things, you can only use nix. Learn Linux. After a while, you will know how pleasant it is to develop on Linux. You can be exposed to a lot of knowledge that is not involved in Windows, which is very beneficial to personal growth. Microsoft's products are simple and easy to use, improve productivity, and make programmers cheaper, but they are not powerful enough for developers,