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检查的errorlintOptions { 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 necessary11:54:56 error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 (10048)
原因是adb server使用的端口被其他程序占用了,导致无法正常启动。
在终端输入:
可以查看这个端口被哪个进程占用,并获得pid。然后在任务管理器中找到这个进程并关闭即可。
果然是360…
一些错误分析
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命令详解与导入第三方包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' }
- 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包。
参考文章:
1. Android Studio简单设置
更多相关文章
- eclipse导入android项目后出现错误的解决方法
- Qt on Android(安卓)Episode 3
- RadioButton 消除自带圆圈效果需要注意版本适配
- Android(Java):minSdkVersion、targetSdkVersion、targetApiLeve
- android Default Activity not found
- Android5.1 WebView遇坑笔记-Resources$NotFoundException
- Android(安卓)greenDAO数据库配置教程
- Eclipse运行工程报AVD没有找到错误解决过程
- 使用Maven管理Android项目(二)