标签:
本文适用于从Eclipse转AndroidStudio的开发者
最近打算写一个系列的android初级开发教程,预计40篇以上的文章,结合我实际工作中的经验,写一些工作中经常用到的技术,让初学者可以少走弯路,这是本系列的第一篇文章,345大神写的。 原文地址 一. 下载安装
下载地址:
解决方法
点击Configure选择SDK Manger可以配置SDK目录等属性
点击左下角连接 启动SDK Manger 配置SDK更新镜像
下面说一下SDK更新镜像网站的使用方法:
这个没什么好讲的,但是追求逼格喜欢黑色主题的小伙伴在意这个的不少,这里就上图说明一下。
如果想要更多字体关键词颜色什么的个性化配置的话推荐到下面的网址下载
跟着引导一步步来就好了,注意最低兼容版本的选择,新建项目的时候没有提供编译版本的选项,默认当前安装的sdk的最高版本,AS给提供了几个Activity模版,模版的实现都是比较经典的,推荐新建一个看一看。
新建完一个工程 如图点击左上结构视图切换,切换到Project目录结构(开发中常用的是Android视图,比较简洁) 其中 app2和mylibrary是为了方便后面讲解新建完成后手动添加的module默认新建工程是没有的。
有时候我们从网上下载了一个demo工程打开后gradle报错不能运行,这种情况大多数由于gradle版本不一致,AS下载对应版本失败的问题引起的,一般情况下有两种解决方法
* 修改要打开工程的gradle配置
参考本地新建工程的相同文件
build.gradle dependencies { classpath ‘com.android.tools.build:gradle:2.0.0‘ //修改版本号与本地工程文件相同}
了解了项目结构之后简单的编译运行调试一般来说应该没有什么问题了,毕竟菜单栏,底部功能窗口功能提示都很明确,下面来说一说比较遇到问题的地方:添加依赖项目或运行第三方工程报错的问题。
添加依赖一般有三种方式 这种方式最简单直接在项目module的build.gradle 里面的dependencies 里添加一句话,然后重新构建即可,如: dependencies { compile fileTree(dir: ‘libs‘, include: [‘*.jar‘]) testCompile ‘junit:junit:4.12‘ compile‘com.android.support:appcompat-v7:23.3.0‘ compile ‘com.android.support:design:23.3.0‘ //添加了OKHttp的依赖 compile ‘com.squareup.okhttp3:okhttp:3.2.0‘}
可以手动添加也可以右键项目在open module settings里搜索添加(推荐这种方式)
这个是最简单的也不用联网,和eclipse一样把jar包拷贝到libs文件夹内,然后需要重新构建一下项目 点击菜单栏的构建按钮即可如图
有的jar还需要关联.so库 这时候只需要在src目录的main文件夹下面建一个名为jniLibs的文件夹将so库拷贝进去即可(与res目录同级)
很多时候我们的要用到从github上下载的项目,把其中提供的library添加到我们的项目中,方法如下 首先导入module然后添加依赖
当然也可以手动把module文件夹拷贝到工程目录中然后修改settings.gradle文件,不过不推荐这种方式。 五. 快捷键
AS的自动提示功能很强大,有输入过后会自动弹出提示不需要像Eclipse一样按alt+/才提示,至于其他AS的快捷键很多就不一一说明了, 上个图拿去自行修炼吧
打开Setting页面 找到Plugins 搜索安装 如图
推荐的几个AS插件,具体用法请自行百度 国内上线APP一般要从多渠道发布,为了统计渠道安装量一般需要每个渠道生产一个安装包,AS自带多渠道打包功能,多渠道打包功能绝对是AS最实用的功能之一,这里重点讲一下。
签名文件可以在build->generate signed apk -> 选择项目 next ->create new生成,方式与eclipse差不多
打开module setting 新建一个signing项 选择签名文件 填写签名文件的密码别名等
作为示例我新建了三个配置并选择打包用到的签名配置 一个offline_debug、一个release_360、一个release_baidu
按照上一步配置好之后,build.gradle里会多出productFlavors和singConfig配置,我们要修改的是productFlavors部分。 这是build.gradle文件内修改的部分 defaultConfig { applicationId "com.example.mark.myapplication" minSdkVersion 14 targetSdkVersion 23 versionCode 1 versionName "1.0" //BuildConfig.IS_SIGN = false buildConfigField "boolean", "IS_SIGN","false" } productFlavors { offline_debug { signingConfig signingConfigs.signConfig //这里演示的是一个变量的写法 manifestPlaceholders = [APP_NAME: "Debug版本"] } release_360 { signingConfig signingConfigs.signConfig //BuildConfig.IS_SIGN = true buildConfigField "boolean", "IS_SIGN", "true" //这里演示的是有多个变量的写法 manifestPlaceholders = [APP_NAME: "360版本", EXAMPLE: "360"] } release_baidu { signingConfig signingConfigs.signConfig buildConfigField "boolean", "IS_SIGN", "true" manifestPlaceholders = [APP_NAME: "百度版本", EXAMPLE: "baidu"] } }
其中defaultConfig内的 buildConfigField “boolean”, “IS_SIGN”, “false”一句 是在构建项目生成的BuildConfig类中添加一个名为 IS_SIGN 的bool变量,并赋值为false。
productFlavors 内的manifestPlaceholders = [APP_NAME: “Debug版本”] 一句的含义是 将AndroidManifest.xml文件里的变量APP_NAME替换为冒号后面的字符串,这句是只有一个要替换的变量的写法,后面you多个变量的写法举例。这个APP_NAME在Manifest文件中的定义格式如下 ${变量名} 在打包的时候gradle会自动把这个占位变量给替换掉。 <activity android:name=".LoginActivity" android:label="${APP_NAME}"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
这种变量定义可以出现在Mainfest中任何需要字符串的位置,我上面只是一个示例,请活学活用不要照搬照抄。
同时选中你要打包的配置项 点击finish 等一会就会同时生成多个APK。 如果你想第一时间看我们的后期文章,关注我们吧 |
标签:
原文地址:http://blog.csdn.net/qq_21811237/article/details/51180133