您的位置:首页 > 移动开发 > Android开发

Android Studio1.5使用和学习记录

2016-06-04 21:56 1076 查看
此文 = 网上摘抄 + 本人使用经验。

本人使用版本:Android Studio1.5。

主要用途:供本人记性不好的时候翻一翻。

****************************************************************************************

* 安装Android相关

Android SDK在线更新镜像服务器

南阳理工学院镜像服务器地址:
mirror.nyist.edu.cn 端口:80

中国科学院开源协会镜像站地址:

IPV4/IPV6: mirrors.opencas.cn 端口:80

IPV4/IPV6: mirrors.opencas.org 端口:80

IPV4/IPV6: mirrors.opencas.ac.cn 端口:80

上海GDG镜像服务器地址:

sdk.gdgshanghai.com 端口:8000

北京化工大学镜像服务器地址:

IPv4: ubuntu.buct.edu.cn/ 端口:80

IPv4: ubuntu.buct.cn/ 端口:80

IPv6: ubuntu.buct6.edu.cn/ 端口:80

大连东软信息学院镜像服务器地址:

mirrors.neusoft.edu.cn 端口:80

腾讯Bugly 镜像:

android-mirror.bugly.qq.com 端口:8080

腾讯镜像使用方法:http://android-mirror.bugly.qq.com:8080/include/usage.html--可用2016/6/2-4 sxg

使用方法:

启动 Android SDK Manager ,打开主界面,依次选择『Tools』、『Options...』,弹出『Android SDK Manager - Settings』窗口;

在『Android SDK Manager - Settings』窗口中,在『HTTP Proxy Server』和『HTTP Proxy Port』输入框内填入上面镜像服务器地址(不包含http://,如下图)和端口,并且选中『Force https://... sources to be fetched using http://...』复选框。设置完成后单击『Close』按钮关闭『Android SDK Manager - Settings』窗口返回到主界面;

依次选择『Packages』、『Reload』。

****************************************************************************************

* Android Studio:

android-studio-bundle-141.2422023-windows.exe

Android Studio Installation Location: C:\Program Files\Android\Android Studio

Android SDK Installation Location: C:\Users\123\AppData\Local\Android\sdk

Android SDK was installed to C:\Users\123\AppData\Local\Android\sdk

Android SDK is up to date.

* Android Studio一般一个workspace里只有一个module,因为多个module时,其中一个出错了其他的也运行不了。

导入module:先新建一个module,再File| Import Module| F:\workspace_as\MyApplication\app即可

这里不是最外层的文件夹,而是app那个文件夹

* Android Studio导入库文件

module右键| Open Module Settings| app| dependences| + -| 上网搜索、加载本地libs文件夹下的、引入module

* Android Studio导入的module,图标不是手机而是咖啡,表示有错,代码有错,软件只划红色波浪线表示。

如果报版本缺失,则新建一个正确的module,把正确module的minSdk/targetSdk/compileSdk/dependencies/等全部拷贝到错误module里即可。或者翻墙下载缺少的版本。

凡是module里的build.gradle改动了,都要try again一下,或者工具栏里点同步按钮,同步按钮提示:Sync project with gradle files。

* Android Studio 的build.gradle详细配置:Android Tools Project Site http://tools.android.com/tech-docs/new-build-system/user-guide
* Android Studio导入网上源码

** 先看AS版本号:自己新建一个project,看默认可运行module下配置:module| gradle| wrapper| gradle-wrapper.properties,位置C:\Users\Administrator\.gradle,内容:

#Wed Oct 21 11:34:03 PDT 2015

distributionBase=GRADLE_USER_HOME --Gradle-用户名-目录:C:\Users\Administrator\.gradle,如果没这目录,自己新建此目录并去网上下好了相应文件,放到这里面。wrapper文件夹是当前存放的gradle版本。

distributionPath=wrapper/dists --同上

zipStoreBase=GRADLE_USER_HOME --同上

zipStorePath=wrapper/dists --同上

distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip--如果本地没有,就自动下载,自动下载慢,故先下好了放对应文件夹下

** 看目标源码版本号:Sublime Text编辑器

D:\android\ROS 机器人操作系统\shield_teleop-master\shield_teleop-master\gradle\wrapper\gradle-wrapper.properties,若内容不同,则改成当前as的配置。

** AS:完整的工程,导入时用import Project, 不可用import module

** AS找不到v7包:E:\Program Files\Android\gradle\m2repository,确保AS安装目录下有此目录,如果没有,去找个m2repository目录放到这里来

** xml布局无法预览,样式报错Missing styles. Is the correct theme chosen for this layout?

--预览界面Dialog| All| Black.NoTitle.Fullscreen

** AS在线下载报错Unable to access Android SDK add-on list:

E:\Program Files\Android\bin\idea.properties
追加:

disable.android.first.run=true

** AS仓库:工作空间下的build.gradle: 

buildscript {

    repositories {

        jcenter() --没有这个将报错。老版本源码可能是mavenCentral(),如果报错,改成jcenter()。。

    }

  AS导入各种包,就是从此仓库里导入,其仓库服务器 网址 https://bintray.com/bintray/jcenter/
  build.gradle改变后,要同步一下,点try again或按钮Sync...

** AS老版本源码app| build.gradle:

apply plugin: 'android-library'

新版本:apply plugin: 'com.android.library'

要把android-library改成com.android.library

或android-application改成com.android.application

** AS导入包名可能一样,修改包名即可 app| build.gradle:

defaultConfig{
applicationId "sxg.com.myapplication"--修改此处包名

}

** AS打包

1. app右键| Open module setting打开Project Structure| app| Flavors标签| + | name:填写此处即可,如baidu360
xiaomi| Ok

2. app| build.gradle: 

productFlavors{
baidu{
manifestPlaceholders (["CATEGORY" : "baidu"])
}
360{
manifestPlaceholders (["CATEGORY" : "360"])
}
xiaomi|{
manifestPlaceholders (["CATEGORY" : "xiaomi"])
}

}

改完后同步,

3. app| AndroidManifest.xml| <application>内,添加

<meta-data  android:name="category" android:value="${CATEGORY}"/>

同步

4. 工具栏Build| Generate Signed APK,选择module,填写签名信息,baidu、360、xiaomi都选上,即打三个包

* Android Studio导入第三方库,找不到AndroidManifest.xml http://www.oschina.net/question/2544032_2144131
-- 未试效果

只导入library就可以用了 (6个月前)   回复

不要导入根目录,而是导入library目录下的 (6个月前)  

只用这个library文件夹就行了 (6个月前)  

Pisceslink把library里面的AndroidManifest.xml拷贝出来,还是只用library 这个文件夹?

* 新安装的Android studio,打开时在选择你本地SDK的位置时,可以看到有个2.25GB的SDK要下载,那是因为Studio 1.0默认要下载5.0的SDK以及一些Tools之类的,然后点击”Finish”按钮

(PS: 这个选择并下载2.25G的组件是studio的一个bug,如果网速不行想跳过这步的可以在bin目录的idea.properties增加一行:disable.android.first.run=true就行了,mac平台的右键安装包->Show Package Contents 就找到bin目录了。)

* Android Studio简单配置  http://my.oschina.net/1pei/blog/469674

  ** File| Settings| Appearance & Behavior| Appearance| UI Options| Override default font...设置左侧浏览窗口的字体大小,这里设置是左侧浏览窗口、菜单栏、整个软件的系统的字体和大小,不含编辑框的。

  ** File| Settings| Editor| Colors & Fonts| Font| Save As "sxg", Shows only monspacesd fonts...改编辑界面的字体和大小。Show only monospaced fonts 表示只显示等宽字体,一般来说,编程等宽字体使用较多,且效果较好。

  ** File| Settings| Editor| Colors & Fonts| General| Default text 改编辑器背景色

    Caret row| background:当前行背景色

  ** 文件编码

  无论是你个人开发,还是在项目组中团队开发,都需要统一你的文件编码。出于字符兼容的问题,建议使用UTF-8 。中国的 Windows 电脑,默认的字符编码为 GBK 。

  可通过File-->Setting--> Editor --> File Encodings来设置。建议将 IDE Encoding 、 Project Encoding 、 Properties Fiels 都设置成统一的UTF-8编码。

  ** 控制一行代码长度

  在Android Studio编辑区域右侧会有一条竖线。这条线是用以提醒程序员,一行的代码长度最好不要超过这条线。如果你不想显示这条线,可通过File-->Setting--> Editor --> General -->Appearance,取消勾选 Show right margin (configured in Code Style options)即可 。但建议保留这条线。

  显示行号

  可通过File-->Setting--> Editor --> General -->Appearance,勾选Show line numbers来设置。

  显示空格

  可通过File-->Setting--> Editor --> General -->Appearance,勾选Show whitespaces来设置。

  ** 插件
Android Studio支持插件添加或删除。Android Studio默认自带了一些插件,如果你不使用某些插件,你可以禁用它。

可通过File --> Settings --> Plugins,右侧会显示出已经安装的插件列表,取消勾选即可禁用插件。

我个人禁用了以下插件:

CVS Integration : CVS 版本控制系统,用不到。

GitHub:  CVS 版本控制系统,公司内部采用Git控制系统,暂不使用GitHub。

Google Cloud Testing: Google云测试,用不到。

Google Cloud Tools For Android Studio:  Google云工具,用不到。

Google Login : Google账号登录,用不到。

hg4idea : Mercurial 版本控制系统,用不到。

Subversion Integration : SVN版本控制系统,用不到。

这里需要注意的是,如果禁用了Google Cloud XXX插件选项,将导致不能使用导入官方样例功能( import sample )。

你可以在 Browse repositories 页面中,搜索插件并安装。

我个人额外安装的插件:

.ignore support : Git 版本控制系统中 .gitignore 文件管理插件。

Git Flow Integration: Git分支管理插件

    ** 检查更新
Android Studio支持自动检查更新。之前尚未发布正式版时,一周有时会有几次更新。你可以设置检查的类型,用以控制更新类型。

可通过File --> Settings --> Appearance & Behavior --> System Setting --> Updates, 勾选 Automatically check updates for channel ,即开通了自动检查更新。你可以禁用自动检查更新。

下面列表,是更新通道。

Stable Channel : 正式版本通道,只会获取最新的正式版本。

Beta Channel : 测试版本通道,只会获取最新的测试版本。

Dev Channel : 开发发布通道,只会获取最新的开发版本。

Canary Channel : 金丝雀预览发布通道,只会获取最新的预览版本。

以上4个通道中, Stable Channel 最稳定,问题相对较少, Canary Channel 能获得最新版本,问题相对较多。

其他还有编码风格、拼写检查、版本控制、Build Tools、Compiler、Coverage、Debugger等更多设置,可自行选择设置。

* Android Studio运行

点击菜单栏的绿色箭头直接运行,Studio 默认安装会启动模拟器,如果想让安装到真机上可以配置一下。在下拉菜单中选择 Edit Configurations 选择提示或者是USB设备:Android  Application| app| Deployment Target Options| Target:...

* 常用功能:在Studio菜单栏的右边有这样几个常用的功能,如图分别是 Gradle同步、AVD Manager、SDK Manager、DDMS

Gradle同步 在你项目运行或者更改Gradle配置的时候都要点击下这个按钮,会下载相应的依赖

AVD Manager 模拟器管理

SDK Manager 就是管理你的SDK版本

DDMS 即 Dalvik Debug Monitor Service,Dalvik调试监控服务。

* SDK更新前:E:\sdk_androidstudio 4.03G,更新后6.31G,单独SDK Manager更新后6.56G,

  更新:SDK Manager| Appearance & Behavior| System Settings| Android SDK| SDK Update Sites

* AS下载 http://www.android-studio.org/ (AS社区)

* 别人经验
http://stormzhang.com/devtools/2014/11/25/android-studio-tutorial1
 ** 出现的错误:The following SDK component was not installed: Android SDK Platform-tools安装出现这个问题怎么解决

-- 打开你的sdk manager,看一下你的Android SDK Platform-tools有没有安装。

 ** 模拟器 改变用 USB

 ** 把settings / Editor / File Encodings / 下的 IDE Encoding, Project Encoding, Default Encoding for properties files 全部设置为UTF-8

 ** 创建模拟器:建议在创建模拟器前把 SDK Manager 中的 Tools、Extras 都更新到最新。

 点击 AVD Manager 按钮

 | 点击创建按钮Create a virtual device

 | 选择一个设备,Phone| Nexus 5,然后Next| 这里选择一个系统版本,Lollipop-21-armeabi-v7a-Android 5.0,由于各位的屏幕尺寸不一样,建议这里Scale一栏选择Auto,然后点击Finish接着可以看到我们已经创建好一个5.0的模拟器了,然后Next

 | 运行,选择模拟器启动看下最终效果(模拟器的启动很慢,大家耐心等待)

  ** AS1.0官方下载地址: http://developer.android.com/sdk/index.html
  如果你之前已经使用其他版本的Studio,那么直接覆盖就好了,如果是第一次使用,那么参照Android Studio系列教程一进行安装配置。

  于此同时一起更新的还有SDK Tools等,打开SDK Manager进行更新就OK。如果之前有在使用RC版本的Studio,更新覆盖之后应该会出错,那是因为Stuido 1.0默认使用1.0的Gradle插件,所以只需到项目根目录的 build.gradle 更新成如下代码然后同步下就OK了

  ** 快捷键:Studio强大的地方在于通过设置你可以一直沿用Eclipse风格的快捷键,Settigns -> Keymap 然后就可以选择你想要的快捷键,这里不止可以选择Eclipse,还可以选择 Emacs、Net Beans 等编辑器的快捷键

  ** 自动导包,到 Settigns -> Editor -> General -> Auto Import -> Java 把以下选项勾上就OK了:

    Insert imports on paste: Ask

    Show import popup

    Optimize imports on the fly

    Add unambiguous imports on the fly

  ** 全文查找 Ctrl + Shift + F

  ** java.lang.ExceptionInInitializerError http://stormzhang.com/java/2014/12/14/java-lang-exceptionininitializererror/
    这个错误是说变量初始化出现问题,通常出现在静态变量尤其是单例模式。

    错误代码:
import java.util.HashMap;  
import java.util.Map;  

public class Foo {  
   private static Foo foo = new Foo();
    private static Map<Integer,Boolean> test =  new HashMap<Integer, Boolean>();
    private Foo() {
test.put(1, true);  
   }
 
   public static Foo getInstance() {
return foo;
   }
}
如果你在别的类调用getInstance,就会报错ExceptionInInitializerError。这是因为类加载时不会为实例变量赋值,对象创建时不会为静态变量赋值。我们调用getInstance时,此类就开始加载,加载的时候不会为实例变量赋值,但是会按顺序给静态变量赋值,所以先为foo赋值,然后为test赋值即初始化。但为foo赋值时出现了个小插曲,它会调用构造方法创建一个对象。对象创建时不会为静态变量test赋值,而构造器内却已经调用test,于是报错了。

改为:

private static Map<Integer,Boolean> test = new HashMap<Integer, Boolean>();
private static Foo foo = new Foo();

构造方法里操作static的变量比较危险,需要注意本类的实例化、static代码块、static变量的加载顺序。

  ** 安装Gradle http://stormzhang.com/devtools/2014/12/18/android-studio-tutorial4/
    那么下载的Gradle到什么地方呢?

    Mac上会默认下载到 **/Users/<用户名>/.gradle/wrapper/dists** 目录

    Win平台会默认下载到 C:\Documents and Settings<用户名>.gradle\wrapper\dists 目录

    

    你会看到这个目录下有个 gradle-x.xx-all 的文件夹, 如果下载实在太慢,但是又不想翻墙的话,可以自己手动到Gradle官网下载对应的版本 http://gradle.org/gradle-download/ ,然后将下载的.zip文件(也可以解压)复制到上述的gradle-x.xx-all 文件夹下,不过还是建议让它直接下载的好。

  ** Gradle 基本概念 http://stormzhang.com/devtools/2014/12/18/android-studio-tutorial4/
  Gradle相关的几个文件一般有如下几个:

    project/app/build.gradle

    project/extras/ShimmerAndroid/build.gradle

    project/gradle/wrapper

    project/build.gradle

    project/settings.gradle

    *** project/app/build.gradle:app文件夹下这个Module的gradle配置文件

      // 声明是Android程序

apply plugin: 'com.android.application'

android {

    // 编译SDK的版本

    compileSdkVersion 21

    // build tools的版本

    buildToolsVersion "21.1.1"

    defaultConfig {

    // 应用的包名

        applicationId "me.storm.ninegag"

        minSdkVersion 14

        targetSdkVersion 21

        versionCode 1

        versionName "1.0.0"

    }

    // java版本

    compileOptions {

        sourceCompatibility JavaVersion.VERSION_1_7

        targetCompatibility JavaVersion.VERSION_1_7

    }

    

    buildTypes {

        debug {

            // debug模式

        }

        

        release {

            // 是否进行混淆

            minifyEnabled false

            // 混淆文件的位置

            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'

        }

    }

    

    // 移除lint检查的error

    lintOptions {

      abortOnError false

    }

}

dependencies {

    // 编译libs目录下的所有jar包

    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile 'com.android.support:support-v4:21.0.2'

    compile 'com.etsy.android.grid:library:1.0.5'

    compile 'com.alexvasilkov:foldable-layout:1.0.1'

    // 编译extras目录下的ShimmerAndroid模块

    compile project(':extras:ShimmerAndroid')

}

    *** project/extras/ShimmerAndroid/build.gradle

    *** project/gradle/wrapper

    *** project/build.gradle
    *** project/settings.gradle

****************************************************************************************

抄录过的部分网址:
http://stormzhang.com/devtools/2014/11/25/android-studio-tutorial1/ http://blog.csdn.net/maosidiaoxian/article/details/37030649
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息