首页 / ANDROID / Android小白的学习之路
Android小白的学习之路
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android小白的学习之路,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4005字,纯文字阅读大概需要6分钟。
内容图文
本人作为一名android小白初次写博客,不好之处请多多包含,欢迎各位大神指点迷津.....
初次接触android不管是从学校还是培训机构出来的,最先接触的知识肯定是安装开发工具了(Android Studio),这里就不再详细介绍了(百度一大堆),其次就是学习工具的使用,比如一些常用的快捷键还有创建项目等等,最后就是各种控件以及各种知识点的学习了。
作为小白的一员,基本上我也是这么过来的,但是到真真工作的时候问题就来了,配置文件中各个参数是什么意思?引入三方库时或者系统版本过高时都需要更改配置文件但无从下手,我不知道其他初学者是不是也会遇见这样类似的问题,反正我是遇见了,于是乎下面就将新建项目中的文件做一详细说明,希望对一些不懂的初学者有所帮助。
1..gradle和.idea
这两者目录下放置的都是Android Studio自动生成的一些文件,我们无需关心也不必要对其做修改。
2. app
这里面放置的是我们所写的项目代码以及资源等内容,我们后续的开发工作基本上都是在这个目录下面进行的
3. build
这里面放置的时编译时自动产生的文件,不需要修改,也不需要纳入项目源代码管理中。
4. gradle
这个目录下包含了gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前将gradle下载好,而是会自动工具本地缓存情况决定是否需要联网下载gradle。Android Studio默认是没有启用gradle wrapper的方式,如果需要打开,可以在File-Setting-Build,Execution,Deployment-Gradle中配在修改。
5. .gitignore
这个文件是用来将指定的文件或者目录排除在版本控制外的
6. build.gradle
这个是项目全局的gradle配置文件,通常这个文件是不需要修改的
7. gradle.properties
这个文件是全局的gradle配置文件,在这里配置的属性将会影响到项目中所有的gradle编译脚本
8. gradlew 和 gradlew.bat
这两个文件是用来在命令行界面中执行gradle命令的,其中gradlew是在Linux或者Mac系统中使用的,gradlew.bat是在Windows系统中使用的
9. .iml
iml文件是所有 IntelliJ IDEA 项目都会自动生成的一个文件(Android Stuido 是基于 IntelliJ IDEA 开发的),用于标识这是一个 IntelliJ IDEA 项目,我们不需要修改这个文件中的任何内容
10. local.properties
这个文件用于指定本集中的Android SDK 路径,通常内容都是自动生成的,我们并不需要修改。除非你本机中的SDK位置发生了变化,那么就将这个文件中的路径改成新的位置即可
11. setting.gradle
这个文件用于指定项目中所有引入的模块。通常情况下模块的引入都是自动完成的,需要我们手动去修改这个文件的场景可能较少
下面我们来详细看一下最外层的build.gradle
-
//设置脚本的运行环境
-
buildscript {
-
-
//使用maven的依赖,用于项目的依赖
-
repositories {
-
mavenCentral()
-
}
-
//依赖插件
-
dependencies {
-
//注意,插件使用这里的Gradle版本尽量要和你Android Studio的Gradle插件版本一致
-
classpath ‘com.android.tools.build:gradle:1.3.0‘
-
}
-
}
-
-
-
//举例
-
//共享配置
-
allprojects {
-
//所有的项目(包括当前项目以及其子项目)应用上idea插件。
-
apply plugin: ‘idea‘
-
}
app模块下的build.gradle
-
//声明当前构建的是 android 应用 还是 library
-
apply plugin: ‘com.android.library‘
-
apply plugin: ‘com.android.application‘
-
-
//依赖包
-
dependencies{
-
//加载本地目录下的jar包
-
compile fileTree(dir:‘libs‘,include:‘*.jar‘)
-
//加载本地目录下的.so库,版本>2.4 Gradle可使用,低版本添加.so 请google
-
compile fileTree(dir: ‘libs/armeabi‘, include: ‘*/so‘)
-
//直接指定依赖的包,地址是当前工程为根目录
-
compile files(‘libs/android-support-v4.jar‘)
-
//引用当前目录下的android-library项目,‘eventbuslib’为项目名称,注意":"一定要有
-
compile project(‘:eventbuslib‘)
-
//配置远程仓库中的jar包,打包时,检查本地有没有,若没有则下载到本地
-
//下载的位置:项目名/build/intermediates/exploded-arr/
-
compile ‘com.android.support:appcompat-v7:22.0.0‘
-
}
-
-
//设置编码类型
-
tasks.withType(JavaCompile) { options.encoding = "UTF-8" }
-
-
-
//设置当前Android应用构建信息
-
android {
-
-
//打包SDK版本
-
compileSdkVersion 21
-
//编译工具版本
-
buildToolsVersion "20.0.0"
-
-
//默认打包配置
-
defaultConfig {
-
minSdkVersion 14
-
targetSdkVersion 21
-
versionCode 1
-
versionName "1.0"
-
}
-
-
//资源文件目录
-
sourceSets{
-
main{
-
manifest.srcFile ‘AndroidManifest.xml‘
-
java.srcDirs = [‘src‘]
-
resources.srcDirs = [‘src‘]
-
aidl.srcDirs = [‘src‘]
-
renderscript.srcDirs = [‘src‘]
-
res.srcDirs = [‘res‘]
-
assets.srcDirs = [‘assets‘]
-
}
-
}
-
-
//打签名设置
-
signingConfigs{
-
myConfig{
-
//key文件,绝对路径和相对路径都可以
-
storeFile file("doucument/pragram_key/bluekey")
-
storePassword "key钥密码"
-
keyAlias "别名"
-
keyPassword "别名密码"
-
}
-
}
-
-
//构建签名和混淆
-
buildTypes {
-
release {
-
//签名文件
-
signingConfig signingConfigs.myConfig
-
//是否打开混淆
-
minifyEnabled false
-
//混淆配置文件
-
proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
-
}
-
}
-
-
//打包设置
-
packagingOptions {
-
exclude ‘META-INF/DEPENDENCIES.txt‘
-
exclude ‘META-INF/LICENSE.txt‘
-
exclude ‘META-INF/NOTICE.txt‘
-
exclude ‘META-INF/NOTICE‘
-
exclude ‘META-INF/LICENSE‘
-
exclude ‘META-INF/DEPENDENCIES‘
-
exclude ‘META-INF/notice.txt‘
-
exclude ‘META-INF/license.txt‘
-
exclude ‘META-INF/dependencies.txt‘
-
exclude ‘META-INF/LGPL2.1‘
-
exclude ‘META-INF/ASL2.0‘
-
}
-
-
//测试所在的路径,这里假设是tests文件夹,没有可以不写这一行
-
instrumentTest.setRoot(‘tests‘)
-
-
// Move the build types to build-types/<type>
-
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
-
// This moves them out of them default location under src/<type>/... which would
-
// conflict with src/ being used by the main source set.
-
// Adding new build types or product flavors should be accompanied
-
debug.setRoot(‘build-types/debug‘)
-
release.setRoot(‘build-types/release‘)
-
}
本文出自 “学习改变命运” 博客,转载请与作者联系!
原文:http://itzhongxin.blog.51cto.com/12734415/1911561
内容总结
以上是互联网集市为您收集整理的Android小白的学习之路全部内容,希望文章能够帮你解决Android小白的学习之路所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。