AndroidStudio

Google官方的Android集成开发环境(IDE = Integrated Development Environment),Eclipse + Adt插件的代替者。
实用设置:
android studio是单工程的开发模式 android studio中的application相当于eclipse里的workspace概念 android studio中的module相当于eclipse里的project概念


中文乱码—–在窗口中,找到IDE Settings->Appearance,在右侧勾选上“Override default fonts by”,然后在第一个下拉框中选择字体为“simsun”,然后apply,重启IDE,就好了。
设置快捷键—–在settings窗口中,找到IDE Settings->keymap,右侧打开的就是快捷键了。右键单击要修改的快捷键,会弹出一个菜单,选择“Add keyboard shortcut”就可以修改快捷键了。删除的话,在弹出的菜单中选择remove XXX即可。特别说明,在AS的快捷键设置里可以直接设置使用Eclipse快捷键还是别的IDE快捷键。如果你热衷Eclipse那么也可设置成Eclipse的快捷键。
修改主题—–在IDE Settings->Appearance,右侧的Theme选择自己喜欢的主题即可。个人比较喜欢Darcula主题,也就是如上截图样式。
如何将Eclipse工程导入AS使用—–选择File->Import Project,在弹出的菜单中选择要导入的工程即可,选择好以后就直接next,在第二个窗口中也选择默认的第一个选项就可以。需要注意的是,在AS中,有两种工程,一个是Project,一个是Module,上面已经细说过了。
导入jar包—–选择File->Projcet Structure,在弹出的窗口中左侧找到Libraries并选中,然后点击“+”,并选择Java就能导入Jar包了。或者直接拷贝jar文件到项目的libs文件夹下,然后运行:Sync Project with Gradle Files。然后clean project重新编译。
删除项目—–AS对工程删除做了保护机制,默认你在项目右键发现没有删除选项。你会发现你的module上面会有一个小手机,这是保护机制。删除的第一步就是去掉保护机制,也就是让手机不见,具体做法就是鼠标放在工程上右键->open module setting,或者F4进入如图界面,选中你要删除的module,然后点击减号,这样就取消了保护机制,然后回到项目工程右键就可发现删除选项。注意:删除会将源文件删除。
Android Studio目录结构
新建工程项目后AS的Product目录结构如下所示:
.idea://AS生成的工程配置文件,类似Eclipse的project.properties。
app://AS创建工程中的一个Module。
gradle://构建工具系统的jar和wrapper等,jar告诉了AS如何与系统安装的gradle构建联系。
External Libraries://不是一个文件夹,只是依赖lib文件,如SDK等。
新建工程项目后AS的Module目录结构如下所示:
build://构建目录,相当于Eclipse中默认Java工程的bin目录,鼠标放在上面右键Show in Exploer即可打开文件夹,
编译生成的apk也在这个目录的outs子目录,不过在AS的工程里是默认不显示out目录的,就算有编译结果也
不显示,右键打开通过文件夹直接可以看。
libs://依赖包,包含jar包和jni等包。
src://源码,相当于eclipse的工程。
main://主文件夹
java://Java代码,包含工程和新建是默认产生的Test工程源码。
res://资源文件,类似Eclipse。
layout://App布局及界面元素配置,雷同Eclipse。
menu://App菜单配置,雷同Eclipse。
values://雷同Eclipse。
dimens.xml://定义css的配置文件。
strings.xml://定义字符串的配置文件。
styles.xml://定义style的配置文件。
......://arrays等其他文件。
......://assets等目录
AndroidManifest.xml://App基本信息(Android管理文件)
ic_launcher-web.png://App图标
build.gradle://Module的Gradle构建脚本
对比
| 对比项 | Eclipse + ADT | Android Studio |
|---|---|---|
| 基于 | IBM公司的Eclipse | JetBrains公司的 IDEA 社区版 |
| 运行速度 | 中 | 快 |
| 程序界面 | 中 | 漂亮 |
| 编码速度 | 中 | 快(更智能的提示) |
| 插件 | 安装繁琐 | 安装简单,自带很多插件 |
| 版本控制 | 需额外安装 | 多 |
| 内存占用 | 中 | 大 |
| 编译 | ANT | gradle |
| 依赖网络 | 否 | 是 |
| 其他 | 内置终端; UI编辑支持多屏预览;多APK打包 |
界面
- 整体

- 菜单 -File

菜单 - Build

快捷工具

Project视窗

-Structure视窗 
代码编辑区域

代码编辑- 布局文件的多屏预览

Android 监控

Message

Gradle相关
概念
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多的语言。
编译过程

Gradle相关文件
- 重要
project 中的 settings.gradle 说明
// 这个Project中有2个Moduleinclude ':app', ':percent-23.1.0'
project 中的build.gradle说明
// 构建脚本buildscript {// 仓库repositories {// 中央仓库 https://bintray.com/bintray/jcenter// 通过jar包的字符串包名,就可以下载到jar包了// 成熟的公司可能会有自己的仓库服务器,需要在此配置jcenter()}dependencies {// android gradle构建工具,用于处理module下的build.gradle文件,此版本与Gradle版本有配套关系,目前gradle已经到2.8了,但主要使用的是2.4classpath 'com.android.tools.build:gradle:1.3.0'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}}// 所有项目都依赖于jcenterallprojects {repositories {jcenter()}}// gradle在执行构建任务时的清理配置task clean(type: Delete) {delete rootProject.buildDir}
module中的build.gradle详细说明
// 表示这个项目编译完成后,是一个anrdoid应用程序apply plugin: 'com.android.application'// 表示这个项目编译完成后,是一个anrdoid的库//apply plugin: 'com.android.library'android {// 编译的sdk版本,见sdk\platformscompileSdkVersion 23// 构建工具的版本,见sdk\build-toolsbuildToolsVersion "23.0.1"defaultConfig {// 包名:用于在市场上区分应用的唯一性的标示applicationId "cn.itcast.as.helloworld"// 最小sdk版本、目标sdk版,原先是放在清单文件中的minSdkVersion 15targetSdkVersion 23// 应用程序的版本号,和版本码,原先是放在清单文件中的versionCode 1versionName "1.0"}// 构建类型buildTypes {// debug版默认有配置,没有写在这里// 发行版release {// 是否混淆minifyEnabled false// 混淆配置文件proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}}// 关键:项目的依赖dependencies {// 在项目中的libs中的所有的.jar结尾的文件,都是依赖compile fileTree(dir: 'libs', include: ['*.jar'])// 依赖于junit测试testCompile 'junit:junit:4.12'// 还依赖于appcompat-v7,23.1.0版本compile 'com.android.support:appcompat-v7:23.1.0'}
- 其他
| 所属 | 文件 | 类型 | 作用 |
|---|---|---|---|
| Project | .gradle | 文件夹 | 配置文件,无需更改、关注 |
| Project | gradle | 文件夹 | 包含了gradle-wrapper相关文件,无需更改、关注 |
| Project | gradle.properties | 文件 | gradle启动的配置,如java虚拟机的内存占用等,一般无需修改 |
| Project | gradlew/gradlew.bat | 文件 | 初始化gradle相关变量的脚本 |
文件和文件夹说明
- Project根目录
| 文件/文件夹 | 说明 |
|---|---|
| .idea/ | IDE的Project相关设置 |
| app/ | 默认建立的module目录 |
| build/ | 打包的临时目录 |
| gradle/ | gradle的相关目录 |
| .gradle/ | gradle的相关目录 |
| .gitignore | git同步时的忽略的文件 |
| builder.gradle | Project的gradle依赖 |
| gradle.properties | project的gradle配置 |
| gradlew | 执行gradle构建的脚本(un*x) |
| gradlew.bat | 执行gradle构建的脚本(windows) |
| local.properties | SDK目录设置 |
| Project.iml | 存放module信息 |
| settings.gradle | Project下有哪些Module |
- module目录
| 文件/文件夹 | 说明 |
|---|---|
| build/ | 编译的中间数据、最终apk存放目录 |
| build/source/r/debug/R.java | R文件 |
| build/outputs/apk/ | APK文件默认位置 |
| libs/ | 导入的jar包存放的位置 |
| src/ | 源码(java、xml、..) |
| src/androidTest/ | 测试代码存放位置 |
| src/main/java/your/package/name | java代码 |
| src/main/jniLibs/ | 动态连接库所在目录 |
| src/main/assets/ | 资产文件存放目录 |
| src/main/res/ | 资源目录 |
| src/AndroidManifest.xml | 清单文件 |
| src/main/res/mipmap/ | 一般放置应用图标 |
| app.iml | 存放module信息(由AS创建) |
| build.gradle | gradle的构建文件 |
| proguard-rules.pro | 混淆设置 |
设置
- 文件编码

- 程序外观

- 编辑区域外观


- logcat外观

快捷键
视窗快捷键

代码补全

快捷键方案修改 && 编辑快捷键

活动模板

后缀补全

乱码问题


- tasks.withType(Compile) {
- options.encoding = "UTF-8"
- }
dub常用快捷键
| 动作 | 按键 |
|---|---|
| 删除行 | Ctrl + Y |
| 复制一行 | Ctrl + D |
| 上下移动代码 | Alt + Shift + Up/Down |
| 格式化代码 | Ctrl + Alt + L |
| 优化导导包 | Alt + Ctrl + O |
| 大小写转换 | Ctrl + Shift + U |
| 打开文件 | 两次shift |
| 注释代码(//) | Ctrl + / |
| 注释代码(/**/) | Ctrl + Shift + / |
| 生成代码 | Alt + Insert |
| 快速定位错误 | F2 |
| 查找 | Ctrl + F |
| 查看继承关系 | Ctrl + H |
| 查找+替换 | Ctrl + R |
| 快捷覆写方法 | Ctrl + O |
|
序号 |
功能 |
Eclipse快捷键 |
Android Studio 快捷键 |
|
快速修复 (实现接口方法、强制类型转换、导包) |
Ctrl + 1 |
Alt + Enter |
|
|
删除光标所在行(选中行) |
Ctrl + D |
Ctrl + Y Ctrl + X |
|
|
复制光标所在的行(选中行) |
Ctrl + Alt + Up/Down |
Ctrl + D |
|
|
格式化代码(java、xml) |
Ctrl + Shift + F |
Ctrl + Alt + L |
|
|
快速创建局部变量 |
Ctrl + 2,L |
Ctrl + Alt + V |
|
|
局部变量变为成员变量 |
Ctrl + 1 |
Ctrl + Alt + F 或者 alt+enter 选择 |
|
|
上下移动选中的行 |
Alt + Up/Down |
Ctrl + Shift + Up / Down |
|
|
重命名 |
Ctrl + Shift + R |
Shift + F6 |
|
|
方法参数提示 |
Alt + / |
Ctrl + P |
|
|
打印输出 |
syso |
sout |
|
|
快速重写方法 |
Ctrl + O输入方法名上下方向键选择后回车 |
||
|
快速定位到任意的文件 |
按两次shift |
||
|
快速定位到某一个类或文件 |
Ctrl + N:查找类 Ctrl + Shift + N:查找文件 |
||
|
|
显示类结构窗口(Outline) |
|
Alt + 7 |
|
|
快速定位到类中的方法或属性 |
Ctrl + O |
Ctrl + F12 |
|
|
快速查看类继承结构 |
Ctrl + T |
Ctrl + H |
|
|
快速查看方法在哪里被调用 |
|
Ctrl + Alt + H |
|
快速定位到当前类报错或警告的地方 |
F2 或Shift+F2 |
||
|
快速定位到类或方法的定义 |
Ctrl+B |
||
|
代码助手,自动补全 |
Alt + / |
Ctrl + Alt +空格:属性名、类名或接口名提示 Ctrl + Shift +空格: 方法提示 |
|
|
窗口最大化 |
ctrl + M |
Ctrl +Shift + F12 |
|
|
快速选中字符串 |
双击 |
Ctrl + W |
|
|
最近编辑的文件列表 |
|
Ctrl + E |
|
|
搜索或替换 |
Ctrl + F |
Ctrl + F Ctrl + R |
|
|
全局搜索或全局替换 |
Ctrl + H --> File Search |
Ctrl + Shift + F 在选中的文件目录里搜索 Ctrl + Shift + R 在选中的文件目录里替换 |
|
|
导入包 |
Ctrl + Shift + O (导包并自动清除没有用到的包) |
Alt+回车:导入当前包 Ctrl + Alt + O:删除没用到的包。 也可设置自动导包,勾选: Add unambiguous imports on the fly |
|
|
选中变量快速跳转到下一个 |
Ctrl + K |
Alt + F3, F3 |
|
|
光标所在上一个 或下一个的位置 |
Alt + Left / Right |
Ctrl + Alt + Left / Right |
|
|
显示JavaDoc(注释文档) |
Ctrl + Q |
||
|
生成 get/set方法、构造方法、toString() |
alt + insert |
||
|
撤销 |
Ctrl + Z |
Ctrl+Z |
|
|
恢复 |
Ctrl + Y |
Ctrl+Shift+Z |
|
|
注释 |
Ctr + / 单行 Ctrl + Shift + / 多行 |
同左 |
|
|
回车换行 (光标定位到下一行) |
Shift + Enter |
同左 |
|
|
回车换行 (光标定位到上一行) |
Ctrl + Shift + Enter |
Ctrl + Alt + Enter |
|
|
复制文件名 |
选中文件后Ctrl + C |
同左 |
|
|
复制类的全局路径 (包名加类名) |
右击--> Copy Qualified Name |
Ctrl + Shift + Alt + C (右击--> Copy Reference) |
|
|
大写/小写 |
Ctrl + Shift + X Ctrl + Shift + Y |
Ctrl + Shift + U |
|
|
回到上一次编辑的位置 |
Ctrl + Q |
Ctrl + Shift + Backspace |
|
|
视图显示与隐藏 |
Alt + 数字 |
||
|
关闭文件 |
Shift + 点击 |
| 自动修正 | |
| Command + N | 自动生成代码(Getter Setter) |
| Command + Alt + L | 格式化代码 |
| Contral + Shift + F | 格式化代码(定制) |
| Command + Alt + T | 把选中的代码放在 try{} 、if{} 、 else{} 里 |
| Command + / | 注释 // |
| Command + Shift + / | 注释 /* */ |
| Command + Shift + Up/Down | 语句上下移动 |
| Option + Shift + Up/Down | 内容上下移动 |
| Option + Command + M | 将选中代码块封装成一个方法 |
| Command + D | 复制当前一行(或选择区域),并粘贴到下面 |
| Command + Z | 后退 |
| Command + Shift + Z | 前进 |
| Control + Alt + O | 优化导入的包 |
| Ctrl(Command)+ - / + | 折叠/展开代码 |
| Ctrl(Command)+Shift+ - / + | 折叠/展开全部代码 |
| Ctrl(Command)+Shift+. | 折叠/展开当前花括号中的代码 |
| Command + Y | 快速查看代码实现 |
| Contral + H | 查看继承关系 |
| Contral + Alt + H | 查看调用关系 |
| Command + [ | 返回上一次查看的位置 |
| Command + ] | 前进到返回之前查看的位置 |
| Command + J | 自动生成代码 |
| Command + E | 查看最近打开的文件 |
http://www.cnblogs.com/dubo-/
建议调整的快捷键:
(1)删除: ctrl + y,一只手能轻易的按下这两个键吗?建议修改为eclipse的ctrl+D
(2)复制选中的多行:
默认居然没有快捷键,可以在keymap中的duplicute lines设置为eclipse的ctrl + alt + 向上
调试
进入调试的两种方式
以调试模式运行
运行后调试
需要注意 运行的程序的代码应该与所看到的是同一份,不然点击提示会错位
如何打断点
代码左侧单击
代码左侧单击时按着shift键
断点类型
| 断点类型 | 什么时候会停下来 | 注意 |
|---|---|---|
| 行断点 | 执行到此行 | 无 |
| 成员变量断点 | 被赋值 或 访问 | art虚拟机提供,需安卓5以上设备才有此功能 |
| 方法断点 | 进入方法或退出方法 | 会影响代码执行的效率,慎用 |
| 异常断点 | 出现了未捕获异常 及 捕获的异常 | 默认不开启 |
导入module
导入Eclipse项目
File –> New –> Import Module
导入AndroidStudio项目
File –> New –> Import Module
导入AAR
File –> New –>New Module –> Import .jar/.aar package
删除导入的Module
当文件夹上显示了手机或柱状图 图标,说明此文件夹是受保护的,无法被删除
- 取消保护
打开Project Struecture。 选中要删除的module,点上面的减号。 然后点确定

- 删除文件
在原来是module的文件夹上点击鼠标右键,选中delete,在弹出的对话框上点确定。

导入依赖

导入Library


导入文件jar包

导入Module依赖

对应关系

插件管理

安装插件的两种方式
- 本地安装
- 网络安装
ButterKnife Zelezny的使用

打包APK

混淆
作用及意义
- 减小apk大小,删除无用的类和方法
- 避免被反编译后重要的程序逻辑暴露
配置
app/build.gradle
buildTypes {release {// false ,关闭混淆// true , 开启混淆minifyEnabled false// proguard-android.txt 是通用的混淆配置文件,放在sdk中 (sdk\tools\proguard\)// proguard-rules.pro 是项目都有的混淆配置文件 ,在项目的根目录中proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}
通用混淆文件说明
# 以#开头的都是注释,下同# This is a configuration file for ProGuard.# http://proguard.sourceforge.net/index.html#manual/usage.html# 不使用大小写混合的类名# 比如说 a.java 和 A.java。因为在windows下文件名是不区分大小写的,会导致文件的覆盖-dontusemixedcaseclassnames# 混淆第三方jar-dontskipnonpubliclibraryclasses# 打印更多日志-verbose# Optimization is turned off by default. Dex does not like code run# through the ProGuard optimize and preverify steps (and performs some# of these optimizations on its own).# 不做做优化(有时会弄巧成拙)-dontoptimize# 不做预校验-dontpreverify# Note that if you want to enable optimization, you cannot just# include optimization flags in your own project configuration file;# instead you will need to point to the# "proguard-android-optimize.txt" file instead of this one from your# project.properties file.# 保留注解上的属性-keepattributes *Annotation*# 保留此类(com.google.vending.licensing.ILicensingService)不被混淆,google需要用到-keep public class com.google.vending.licensing.ILicensingService# 保留此类( com.android.vending.licensing.ILicensingService)不被混淆,google需要用到-keep public class com.android.vending.licensing.ILicensingService# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native# 保持 native 方法不被混淆,混淆后不能正确调用底层方法了-keepclasseswithmembernames class * {native <methods>;}# keep setters in Views so that animations can still work.# see http://proguard.sourceforge.net/manual/examples.html#beans# 保留任何直接或间接继承与View的类的set和get开头的方法,不被混淆-keepclassmembers public class * extends android.view.View {void set*(***);*** get*();}# We want to keep methods in Activity that could be used in the XML attribute onClick# 保留直接或间接继承于Activity的类的 点击事件方法不被混淆,因为混淆后布局文件写的点击事件方法就会找不到-keepclassmembers class * extends android.app.Activity {public void *(android.view.View);}# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations# 保留枚举类的如下 values 和valueOf方法-keepclassmembers enum * {public static **[] values();public static ** valueOf(java.lang.String);}# 保留实现了Parcelable 接口的类的静态CREATOR常量-keepclassmembers class * implements android.os.Parcelable {public static final android.os.Parcelable$Creator CREATOR;}# 保留R.java中的及内部类的的所有静态字段-keepclassmembers class **.R$* {public static <fields>;}# The support library contains references to newer platform versions.# Don't warn about those in case this app is linking against an older# platform version. We know about them, and they are safe.# 告诉ProGuard不要警告找不到android.support开头的包名.-dontwarn android.support.**
项目特有的常用的混淆语法
- 特定的类不被混淆
-keep class package.name.Klass {*;} - 某个包下的类不被混淆
-keep class package.name.** {*;} - 继承与某类的类不被混淆
-keep class * extends java.lang.annotation.Annotation { *; }
使用第三方jar包在混淆后出错
一般,都可以在网站上找到相应的混淆配置
比如
butterknife
http://jakewharton.github.io/butterknife/ 查找 PROGUARDbaidu map sdk
http://lbsyun.baidu.com/index.php?title=androidsdk/qa 查找 混淆xutils
https://github.com/wyouflf/xUtils 查找 混淆
多APK打包
意义
- 国内现状: 多个电子市场可提供apk的下载,用于统计市场的作用
- 同一个应用程序,给不同的客户,需要连接不同的服务器
步骤
1 在清单文件中添加metadata
<application...... ><!-- market 表示键 ${MARKET}表示值 ,用${}表示会变......--><meta-data android:name="market" android:value="${MARKET}"/><!-- ......--></application>
2 在程序中获得metadata并使用
//TODO 从sp中获取是否是第一运行boolean isFirstRun= true;if(isFirstRun){// 通过PackageManager拿到在清单文件中记录的metadata信息PackageManager packageManager = getPackageManager();String packageName = getPackageName();int flag = PackageManager.GET_META_DATA;// 表示我们获取当前应用程序的application下的metadata数据ApplicationInfo applicationInfo = packageManager.getApplicationInfo(packageName, flag);// 传入键名,拿到键值String market = applicationInfo.metaData.getString("market");//TODO 获取imeiString imei = "123456";// TODO 自己实现代码sentToServer(market, imei);//TODO 写入sp,下次启动程序就不发送了}
3 添加flavor动态修改metadata
android{//......productFlavors {_360 {manifestPlaceholders = [MARKET: "_360"]}wandoujia {manifestPlaceholders = [MARKET: "wandoujia"]}anzhi {manifestPlaceholders = [MARKET: "anzhi"]}}}
版本控制
SVN环境
- 安装TortoiseSVN
!!! 注意勾选 command line client tools

- 在as中,设置svn的命令行工具
settings –> Version Control –> Subversion –>General –> use command line client
选中TortoiseSVN的安装目录中的bin文件夹中的svn.exe

上传本地代码
- 设置同步
settings –> Version Control
把project后面加上版本控制的类型

- 设置忽略文件
settings –> Version Control –> Ignored Files
3种方式:特定文件、指定目录下的文件、特定规则文件

- 提交目录
project 右键 –> Subversion –> share directory
这一步只提交了目录,文件并没有上传到服务器




- 上传文件
project 右键 –> Subversion –> submit directory


下载服务器的代码
在Welcome to Android Studio界面,点击第三个Check out project from Version Control


提交代码,编辑冲突
project 右键 –> Subversion –> submit directory
好习惯:先update,再submit
- 冲突的解决
3种 接受服务器的,接受自己的,合并

| 英文 | 含义 |
|---|---|
| Accept Theirs | 用服务器的覆盖本地的 |
| Accept Youts | 用本地的覆盖服务器的 |
| Merge | 查看服务器和本地的,最终决定提交的内容 |

!!! 注意,在合并后,还需要submit
断开连接
- 断开连接
- 先删除配置
在settings –> version control -掉同步文件夹
- 先删除配置

2. 再删除文件
删除.svn文件夹

- 忘记记录的用户名和密码
settings –> version control –> subversion –>clear auth cache

http://www.cnblogs.com/dubo-/
AndroidStudio的更多相关文章
- AndroidStudio — Error:Failed to resolve: junit:junit:4.12错误解决
原博客:http://blog.csdn.net/u013443865/article/details/50243193 最近使用AndroidStudio出现以下问题: 解决:打开app下的buil ...
- AndroidStudio安装流程 以及 使用过程中出现的异常
Android Studio2.0 教程从入门到精通Windows版 - 安装篇 Android Studio第一次启动跳不过“ downloading components”解决方案 通过hosts ...
- 整理分享原生态mac AndroidStudio的快捷键
使用AndroidStudio开发半年了,一路爬坑至今,刚由Windows转mac一个星期.通过查些资料和自己摸索,记录一些常用的快捷键,犹豫个人不喜欢改快捷键,所以都是原生的.特此分享给大家!欢迎补 ...
- Cocos2dx 3.12 在AndroidStudio上编译配置
转载请标明出处:http://www.cnblogs.com/studweijun/p/5805576.html SDK,NDK,ANT的配置请看这里http://www.cnblogs.com/st ...
- AndroidStudio 1.4配置NDK
AndroidStudio(AS) 1.3之后已经支持NDK,这为NDK开发提供了极大的便利,不在需要配置各种头疼的MK文件,简单的九步就可完成配置.要说明的是,第一次配置AS一定要有耐心. 0,下载 ...
- 完全卸载AndroidStudio
一:卸载Android Studio 由于从1.5正式版直接升级到2.1的版本,整个项目构建都变得异常的慢,所以决定卸载重新安装2.0的正式版.但是Mac下使用dmg安装的app很多都是不能使用拖拽的 ...
- AndroidStudio使用过程中遇到的bug
Ref:http://www.cnblogs.com/jingmo0319/p/5781878.html 1. Error:Execution failed for task ':app:transf ...
- 在安装AndroidStudio时产生的问题
JDK安装完毕,环境变量也配置完了,AndroidStudio安装完了,其中SDK使用了自己下载好的包. 但是第一次打开AndroidStudio的时候出现了错误: java.lang.Runtime ...
- AndroidStudio错误总结及解决(待续)
AndroidStudio错误总结及解决 一. 当安装好AndroidStudio开启的时候出现如下错误: 百度的解决方法: 1)进入刚安装的Android Studio目录下的bin目录.找到ide ...
- androidstudio报错
今天换一下IDE,结果上来就给我报错, androidstudio message:Error:java.lang.UnsupportedClassVersionError: com/android/ ...
随机推荐
- webservice原理
webservice的工作原理 WebService的主要目标是跨平台的可互操作性.为了达到这一目标,WebService完全基于XML(可扩展标记语言).XSD(XMLSchema)等独立于平台 ...
- 新浪微博客户端(24)-计算原创微博配图frame
DJStatus.h #import <Foundation/Foundation.h> @class DJUser; /** 微博 */ @interface DJStatus : NS ...
- Entity Framework 系统约定配置
前言 Code First之所以能够让开发人员以一种更加高效.灵活的方式进行数据操作有一个重要的原因在于它的约定配置.现在软件开发越来越复杂,大家都试图将软件设计的越来越灵活,很多内容我们都希望是可配 ...
- acdream.Bet(数学推导)
Bet Time Limit:1000MS Memory Limit:64000KB 64bit IO Format:%lld & %llu Submit Status Pra ...
- smb
smb编辑 SMB(Server Message Block)是协议名,它能被用于Wap连接和客户端与服务器之间的信息沟通.
- L4 如何在XCode中下进行工作
原地址:http://www.howzhi.com/course/286/lesson/2107 管理您的工作流程在Xcode 正如你在本教程中看到了 你的第一个iOS应用,你在Xcode工作区窗口 ...
- ios 应用程序图标、启动画面、itune图标设置
http://blog.sina.com.cn/s/blog_4cd8dd1301014hfz.html 先说说应用程序图标,一般有下面几种: Icon.png(57x57) - Homescreen ...
- Linux时间同步配置方法
由于是在做mongoDB的实验中再一次的遇到了mongos路由节点同步时由于ntp时间的问题导致同步非常的慢.故写了个时间同步的语句===> while :; do rdate -s 192.1 ...
- HTML模仿桌面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【leetcode】Best Time to Buy and Sell Stock III
Best Time to Buy and Sell Stock III Say you have an array for which the ith element is the price of ...