Android Studio踩坑记

拾起Android项目,需要使用Goolgle Play Services。顺应潮流换了Android Studio,开启了踩坑之旅。

  • 尝试直接将Eclipse项目导入AS,结果根本没法用啊。正确的方法应该是升级ADT,在Eclipse下导出build.gradle然后再导入。但是升级的时间还不如直接新建项目把资源拷进去,同时也能了解一下AS默认的项目结构。
  • 第一个遇到的问题是新建的项目没有assert和lib目录。java和res等资源都在src/main目录下,于是我将assets和libs目录都放在这了。结果assets目录没问题,但是实际上要在gradle文件中引用libs目录,libs目录应该放在src下。
  • 加入jar包没有那么简单,放入libs目录下之后还需要:右击lib选择添加为lib;在项目中添加库引用;在build.gradle中添加对这个jar的依赖;手动在项目目录下运行gradew clean。
  • 想要使用gms,最新的方法是在SDK manager中安装Google Play Services和Google Repository,在dependencies中添加:
  •    compile 'com.android.support:support-v4:19.0.0'
        compile 'com.android.support:appcompat-v7:19.0.0'
        compile 'com.google.android.gms:play-services:4.1.32'
  • 这里的版本号也是略坑爹,想知道版本号需要打开目录 <SDK>\extras\google\m2repository\com\google\android\gms\play-services ,然后就能看到可用的版本号,其他两个包也是类似的方法查看。
  • 下载的play services目录重要示例工程,本还想参考一下,结果都没有升级成新的工程结构。
  • Play Services安装文档中指明需要添加:
  • <meta-data android:name="com.google.android.gms.version"
               android:value="@integer/google_play_services_version" />

但是这个版本号略坑。平时看到的都是x.x.xx这样的格式,而不是整数。最终在sdk\extras\google\googleplayservices\libproject\google-play-services_lib\AndroidManifest.xml中找到了版本号4132530,运行之后提示需要的是4132500,为什么要减去30至今没搞明白。需要放在application节点下,我还错误地放在manifest节点下。

最后吐槽一下打开的各种弹窗太大了,我这1366×768分辨率的笔记本经常看不到下边的内容。第一次运行AS的时候还有长时间走滚动条的问题,据说是在下载gradle,不过我没有感觉到。因为用电脑是需要和小外甥打游击,不能被看到,下载的时候把电脑藏起来干别的去了。

jni库始终无法正常加入安装包中。没事升级AS到0.4.3,之前jar包引用又出问题了,就在决定今天无法解决就换回Eclipse之际,一篇帖子帮了大忙:http://blog.csdn.net/look_down/article/details/17557031

  • build.gradle中gradle版本修改为0.7+
  • 运行后出错,按照提示修改gradle-wrapper.properties文件中
  • 加入so库的代码修改为:
  • task copyNativeLibs(type: Copy) {
        from fileTree(dir: 'libs', include: 'armeabi/*.so' )  into  'build/lib'
    }
    tasks.withType(Compile) {
        compileTask -> compileTask.dependsOn copyNativeLibs
    }  
    
    clean.dependsOn 'cleanCopyNativeLibs'  
    
    tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
       pkgTask.jniFolders = [new File(buildDir, 'lib')]
    }  

经过gradlew clean build之后成功了。这下没有理由再用Eclipse了。

时间: 2024-11-03 17:44:54

Android Studio踩坑记的相关文章

【踩坑记】从HybridApp到ReactNative

前言 随着移动互联网的兴起,Webapp开始大行其道.大概在15年下半年的时候我接触到了HybridApp.因为当时还没毕业嘛,所以并不清楚自己未来的方向,所以就投入了HybridApp的怀抱. HybridApp最早好像是国外的PhoneGap,然后国内有AppCan.Dcloud.APICloud等等.我当时接触的是APICloud,相比于其他平台,APICloud最大的特点是它的混合程度比较高! 要知道,Webapp最大的问题就是性能问题始终无法和原生App相比,由此才发展出来Hybrid

Docker踩坑记

看最近Docker这么火,也跟着用用.结果从一个坑出来又掉另一个坑去了. FATA[0000] Error response from daemon: client and server don't have same version (client : 1.16, server: 1.15) 1 [root@aliyun ~]# docker info 2 FATA[0000] Error response from daemon: client and server don't have s

总结!一个产品新手的踩坑记

本文讲的是总结!一个产品新手的踩坑记, 加入产品大家庭正好三个月了,在大佬们面前不敢造次,于是,觉得可以拿出来分享的,便是在这段春夏交替之光里,亲脚踩的一些坑,以及在坑里获得的一些小发现.所幸的是,在老大和运营设计开发同学们的帮助下,目前还没有摔成骨折,还望日后能留全尸. 踩坑装备 没点装备怎么敢出门打怪.需求讨论会上记录好被提出的需求.其内容.提出者,为之后踩坑.填坑做好准备.对方攻击double没关系,首先血要厚.(实践证明,这些装备在日后我明确需求以及设计完成后自我检查的过程中帮了大忙).

Spark踩坑记:共享变量

前言 前面总结的几篇spark踩坑博文中,我总结了自己在使用spark过程当中踩过的一些坑和经验.我们知道Spark是多机器集群部署的,分为Driver/Master/Worker,Master负责资源调度,Worker是不同的运算节点,由Master统一调度. 而Driver是我们提交Spark程序的节点,并且所有的reduce类型的操作都会汇总到Driver节点进行整合.节点之间会将map/reduce等操作函数传递一个独立副本到每一个节点,这些变量也会复制到每台机器上,而节点之间的运算是相

Android Studio 插件开发详解四:填坑

转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78265540 本文出自[赵彦军的博客] 插件打包 坑一 id不能重复 坑二插件描述信息要完整 坑三插件支持的产品要说明 总结 在前面我介绍了插件开发的基本流程 [Android Studio 插件开发详解一:入门练手] [Android Studio 插件开发详解二:工具类] [Android Studio 插件开发详解三:翻译插件实战] 在经历的前面的3篇文章,我相信大家都可以

浅析Android Studio 3.0 升级各种坑(推荐)

点击 Check for Updates 增量更新: 下载完成,会提示更新 您将 Gradle 更新至 4.1: 这里建议您对老项目先暂时点击 Don't remind me on this project,以防有坑.当然我不入地狱谁入地狱,我点 Update,于是问题来了,一直处于下载中,不过,莫担心,我下载好了,公众号聊天界面回复「 gradle-4.1-all 」,下载 gradle-4.1-all.zip 文件,放到: 重启 Android Studio. gradle 目录: Mac系

android studio设置代理更新

我们都知道Android Studio是基于IDEA开发的,而我们写的每一个程序又都是有Gradle构建的,Gradle的优点可以说是很多,被很多程序员夸得没边,但是它有一个特点还是值得我们注意的.我们每一次点击这个按钮来执行我们的程序时,都会先调用这个来进行构建,这个和Eclipse上还是不一样的,因为Gradle构建的时候要联网,但是联网就联网呗,偏偏还要连接到墙外面的网络,我当初刚刚涉足移动开发的时候可被它给坑苦了,现在想一想真是蛋疼啊,信心满满的装好了高大上的Android Studio

给Android Studio设置代理

我们都知道Android Studio是基于IDEA开发的,而我们写的每一个程序又都是有Gradle构建的,Gradle的优点可以说是很多,被很多程序员夸得没边,但是它有一个特点还是值得我们注意的.我们每一次点击这个按钮来执行我们的程序时,都会先调用这个来进行构建,这个和Eclipse上还是不一样的,因为Gradle构建的时候要联网,但是联网就联网呗,偏偏还要连接到墙外面的网络,我当初刚刚涉足移动开发的时候可被它给坑苦了,现在想一想真是蛋疼啊,信心满满的装好了高大上的Android Studio

第一次使用Android Studio时你应该知道的一切配置

[正文] 最近网上流行起了程序猿鼓励师的段子,鼓励师的报酬比程序猿还高,想想也确实是个不错的职位,什么?你没听说过?翻到本文最后面,爆图. 放假前的福利,之前写一篇博客:使用Android Studio搭建Android集成开发环境(图文教程),之前的那篇可以凑合着看一下.当时Andriod Studio还处在测试版,现在Android Studio已经升级到稳定版1.1了,决定还是重新写一下图文教程,让那些还在死抱着eclipse不放的人(包括自己)跨过这道坎.   [开发环境] 物理机版本: