Android studio使用问题收录

下载

所有版本AS下载地址:http://tools.android.com/download/studio 
官方稳定发行版:http://developer.android.com/sdk/index.html 
- Stable Channel : 正式版本通道 
- Beta Channel : 测试版本通道 
- Dev Channel : 开发发布通道 
- Canary Channel : 预览发布通道

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

Gradle

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

app/build.gradle文件分析

这是整个module的配置文件。

// 声明是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')
}

说明:Android SDK 目录和作用的分析详解

调试功能使用

参考: Intellij IDEA调试功能使用总结

adb无法启动

event log为:

adt-bundle-windows-x86_64-20140321\sdk\platform-tools\adb.exe,start-server' failed -- run manually if necessary
11:54:56 error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 (10048)

原因是adb server使用的端口被其他程序占用了,导致无法正常启动。 
在终端输入: 
 
可以查看这个端口被哪个进程占用,并获得pid。然后在任务管理器中找到这个进程并关闭即可。 

果然是360…

一些错误分析

  1. duplicate entry: Android/support/v7/appcompat/R$anim.class错误 
    原因:网上一般说是多个v7包版本不同导致的。但是我的项目之前一直是运行正常的,不存在冲突。只是从Android Studio 1.5升级到2.0 beta后,才出现了这个错误。具体原因不明。 
    解决:根据StackOverFlow上一个答案,应该是gradle wrapper的问题。 
    在项目根目录下执行命令:gradlew clean即可。(./代表根目录)。更多关于gradle命令参考:Android Studio系列教程五–Gradle命令详解与导入第三方包

  2. Error:Execution failed for task ‘:batman:transformResourcesWithMergeJavaResForDebug’. 
    com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/maven/com.squareup.okio/okio/pom.xml 
    解决方案:参考stackOverFlow一个答案.在build.gradle文件中添加:

     packagingOptions {
     exclude 'META-INF/maven/com.squareup.okio/okio/pom.xml'
     exclude 'META-INF/maven/com.squareup.okio/okio/pom.properties'
     }
    
  3. java.util.zip.ZipException: duplicate entry:tencent/mm/sdk/a.class 
    duplicate entry一般是因为一个第三方库被重复引用,或者本地和gradle引用同一个包。tencent/mm/sdk这个包是微信支付的包,如果也使用了友盟社会分享,其sdk中有一个socialsdk_weixin_1.jar包,内容和tencent/mm/sdk完全相同,因此导致重复引用。同时使用友盟分享和微信支付时需注意。 
    解决方案是删除socialsdk_weixin_1.jar包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值