# Android Studio

1. [gradleplugin](http://tools.android.com/build/gradleplugin) ^^^^^ [Gradle](https://github.com/jiek/android/tree/52521e14d1def30991d1883a87ff6aed166b6e37/android_studio/android_studio/gradle.md)
2. [gradle configuration](http://google.github.io/android-gradle-dsl/current/)
3. [Configure Your Build](https://developer.android.com/studio/build/index.html)
4. [Gradle Wrapper](https://docs.gradle.org/current/userguide/gradle_wrapper.html)

## IDE八种查看文件模式

### project模式

展示全部文件信息, 文件的位置是真实的物理结构, 因此在查看文件的时候建议切换到project模式.

### package模式

仅显示项目本身的代码和资源,其它的信息都被隐藏了. 代码和资源都以层级文件的形式显示.

### Scratches模式

Scratches模式只显示草稿文件.Scratch Files(草稿文件)是一个非常方便的功能,可以帮助我们快速的实验和建立原型,使用Scratch Files可以在不修攺项目和创建任何文件的情况下快速画出草图, Android Studio(Intellij idea)为Scratch Files提供了所有的辅助编码功能.

### Android模式

所有的文件会通过类型进行归类,这个并不是实际在电脑中的文件结构.

### Project Files模式

类似Eclipse的项目结构形式.

### Problems模式

仅显示报错的文件结构.

### Production模式

仅显示生产文件结构.

### Tests模式

仅显示测试文件结构.

## AS的项目结构

[AS的项目结构](android_studio/as_project_directory)

## adb

[adb](android_studio/adb)

## aapt

[aapt](android_studio/aapt)

## dx

[dx](android_studio/dx)

## Command Line Tools

[https://developer.android.com/studio/command-line/index.html](https://developer.android.com/studio/command-line/index.html)

| command-line                                                                    | description                                                                                                                                                                                                                                                                                                                                        |
| ------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [adb](https://developer.android.com/studio/command-line/adb.html)               | Android Debug Bridge (adb) is a versatile command-line tool that lets you communicate with a device (an emulator or a connected Android device). The adb command facilitates a variety of device actions, such as installing and debugging apps, and it provides access to a Unix shell that you can use to run a variety of commands on a device. |
| [apksigner](https://developer.android.com/studio/command-line/apksigner.html)   | signing an APK using the apksigner tool                                                                                                                                                                                                                                                                                                            |
| [avdmanager](https://developer.android.com/studio/command-line/avdmanager.html) | Android Virtual Devices Manager                                                                                                                                                                                                                                                                                                                    |
| [bmgr](https://developer.android.com/studio/command-line/bmgr.html)             | Backup Manager                                                                                                                                                                                                                                                                                                                                     |
| [etc1tool](https://developer.android.com/studio/command-line/etc1tool.html)     | etc1tool is a command line utility that lets you encode PNG images to the ETC1 compression standard and decode ETC1 compressed images back to PNG.                                                                                                                                                                                                 |
| [jobb](https://developer.android.com/studio/command-line/jobb.html)             | The jobb tool allows you to build encrypted and unencrypted APK expansion files in Opaque Binary Blob (OBB) format                                                                                                                                                                                                                                 |
| [logcat](https://developer.android.com/studio/command-line/logcat.html)         | Logcat is a command-line tool that dumps a log of system messages, including stack traces when the device throws an error and messages that you have written from your app with the Log class.                                                                                                                                                     |
| [mksdcard](https://developer.android.com/studio/command-line/mksdcard.html)     | The mksdcard tool lets you quickly create a FAT32 disk image that you can load in the emulator, to simulate the presence of an SD card in the device.                                                                                                                                                                                              |
| [sdkmanager](https://developer.android.com/studio/command-line/sdkmanager.html) | The sdkmanager is a command line tool that allows you to view, install, update, and uninstall packages for the Android SDK.                                                                                                                                                                                                                        |
| [zipalign](https://developer.android.com/studio/command-line/zipalign.html)     | zipalign is an archive alignment tool that provides important optimization to Android application (APK) files.                                                                                                                                                                                                                                     |
