Android Studio3.0升级后使用注意事项及解决方法

Gradle plugin最高版本4.*

老的项目在使用新版本时,可能会出现gradle plugin冲突的问题

Error:Failed to open zip file. Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.) Re-download dependencies and sync project (requires network) Re-download dependencies and sync project (requires network)

解决方法:

去往gradle安装目录(File->Other Settings->Default Settings,然后可以搜索gradle,右侧有Service directory path可以看到你gradle目录),.gradle\wrapper\dists目录下找到和项目的gradle-wrapper.properties里版本号一致的文件(比如gradle-3.3-all)删除,重新编译即可

Cannot choose between the following configurations,产生这个问题的原因是项目用引用了其他项目,比如compileproject(:library),

解决方法:

Android Studio3.0以后需要使用如下方式:

implementation project(path: ':library', configuration: 'default')

伴随着 Android Gradle 插件 2.2 版本的发布,近期 android-apt 作者在官网发表声明证实了后续将不会继续维护 android-apt,并推荐大家使用 Android 官方插件提供的相同能力。也就是说,大约三年前推出的 android-apt 即将告别开发者,退出历史舞台,Android Gradle 插件提供了名为 annotationProcessor的功能来完全代替 android-apt,更换的步骤如下:

移除 Module 的 build.gradle 文件中对 android-apt 的相关配置,也就是删除类似下面的配置:

 buildscript {
      repositories {
        jcenter()
      }
      dependencies {
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
      }
    }
    apply plugin: 'com.neenbedankt.android-apt'

将 Module 的 build.gradle 文件中使用 apt 引入的依赖修改为使用 annotationProcessor 进行引入,修改前配置如下:

    dependencies {
     compile 'com.google.dagger:dagger:2.0'
     apt 'com.google.dagger:dagger-compiler:2.0'
    }

修改后配置如下:

   dependencies {
      compile 'com.google.dagger:dagger:2.0'
      annotationProcessor 'com.google.dagger:dagger-compiler:2.0'
    }

总结

以上所述是小编给大家介绍的Android Studio3.0升级后使用注意事项,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

时间: 2017-12-06

Android Service自启动注意事项分析

本文实例分析了Android Service自启动注意事项.分享给大家供大家参考,具体如下: @Override public void onStart(Intent intent, int startId) { super.onStart(intent, startId); if(intent == null) return; } @Override public void onDestroy() { super.onDestroy(); Intent intent = new Intent(

Android TimerTask 的简单应用及注意事项

Android  TimerTask 的简单应用及注意事项 Android应用开发中常常会用到定时器,不可避免的需要用到 TimerTask 定时器任务这个类 下面简单的一个示例演示了如何使用TimerTask 这个示例演示了3秒未有触屏事件发生则锁屏(只是设置下文本,意思一下)有触屏事件则解除锁定 public class ColTimerTaskActivity extends Activity { /** Called when the activity is first created.

Android生存指南之:开发中的注意事项

1. 为Activity声明系统配置变更事件系统配置变更事件是指转屏,区域语言发生变化,屏幕尺寸发生变化等等,如果Activity没有声明处理这些事件,发生事件时,系统会把Activity杀掉然后重启,并尝试恢复状态,Activity有机会通过onSaveInstanceState()保存一些基本数据到Bundle中,然后此Bundle会在Activity的onCreate()中传递过去.虽然这貌似正常,但是这会引发问题,因为很多其他的东西比如Dialog等是要依赖于具体Activity实例的.

Android 程序执行Linux命令的解决方法及注意事项

一:问题描述    在已经root过的android设备下,app执行一个linux命令,app需要获取su权限,在某些android主板下会出现异常, Command: [su] Working Directory: null Environment: null,代码如下: private void execLinuxCommand(String cmd){ Runtime runtime = Runtime.getRuntime(); try { Process localProcess =

关于Android WebView的loadData方法的注意事项分析

loadData()中的html data中不能包含'#', '%', '\', '?'四中特殊字符,出现这种字符就会出现解析错误,显示找不到网页还有部分html代码.需要如何处理呢?我们需要用UrlEncoder编码为%23, %25, %27, %3f .可以使用以下两种代码,data为string类型的html代码1.webView.loadData(URLEncoder.encode(data, "utf-8"), "text/html",  "u

Android 编程下字库的使用及注意事项

在安卓操作系统下对于 TextView 字体的支持非常有限,默认情况下 TextView 的 typeface 属性支持 "Sans","serif","monospace" 这三种字体,如果在没有指定字体的情况下,系统缺省会使用 "Sans" 作为文本显示的字体.但这三种字体只支持英文,也就是说只要你显示的文字是中文,无论你选择这三种字体中的哪一种,显示效果都是一样的.为此,谷歌又提供了另外一种字体的支持方式:字库.在 An

Android Studio 导入开源项目的正确姿势及注意事项

报错:Error:(2, 0) Plugin with id 'realm-android' not found. 注意:项目中用到的插件,需要根目录下的build.gradle中添加它classPath, 执行下面的build.gradle文件覆盖前先检查下,或者备份一个. 当我们在Github上看到优秀的项目时,往往想下载下来学习,但是导入到AS中经常报各种错误,那么导入开源项目的正确姿势是什么呢? (1) 第一步,新建一个项目,跑一遍. (2) 打开 我们从Github下载的项目的文件.依

Android 中ViewPager中使用WebView的注意事项

Android 中ViewPager中使用WebView的注意事项 前言: 今天在做项目时遇到了一个小问题 首先使用ViewPager显示多个页面,然后在每个页面上使用Fragment显示数据,其中有一部分数据是通过WebView加载的Html标签. 具体xml布局如下 <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.andr

Android 如何使用log4j及注意事项

 Android 使用log4j 前言: 如果要直接在android工程中使用log4j,是有点问题的,会报如下的错: 11-23 09:44:56.947: D/dalvikvm(1585): GC_FOR_MALLOC freed 3278 objects / 311568 bytes in 31ms rejecting opcode 0x21 at 0x000a rejected Lorg/apache/log4j/config/PropertySetter;.getPropertyDes

将Eclipse工程转Android Studio工程的步骤与注意事项

Gradle的基础 想要将Eclipse转为Android Studio项目,那么Gradle语法是必修课.此处引进一篇文章,基础就不写了,Gradle基础 引言 目前,用 Android Studio 来开发 Android 项目已是大势所趋,就连 Google 也已经宣布了不再支持 Eclipse .所以一些老的 Eclipse 工程转 Android Studio 工程也是有必要的.工程转换有两种:一种是兼容模式,即 Eclipse 和 Android Studio 都可以用的工程结构:一

AndroidStudio升级到3.0的新特性和注意事项小结

 概述 谷歌发布Android Studio3.0正式版已经有一段时间了,最近抽空升级了一下,也踩了一些坑.特地记录一下.作为开发者第一时间体验谷歌带来的新特性是很有必要的.当然为了项目稳定性,也要根据实际情况决定是否升级相关插件 升级 从已有的IDE升级,无非就是File->Settings->Appearance&Behavior->Updates,这里可以选择升级渠道:Canary(金丝雀)Dev(开发版)Beta(Beta版)Stable(稳定版),以及是否使用安全链接.

Android 程序申请权限注意事项

为Android 程序申请权限注意 Android系统提供为程序提供了权限申请,即在manifest中使用uses-permission来申请即可.实现起来非常简单,但是有些问题会随之浮出水面. 常见的现象是,有时候新加一个权限,(在Google Play上)程序显示的支持的设备会减少. 为什么权限越多,支持设备越少 因为有些权限隐式地需要feature,即当你显示使用uses-permission,会默认地为程序加入uses-feature. 而Android以及Google Play判断是否

Android集成百度地图开发流程和注意事项

前言 最近公司要把百度地图集成的项目中,于是我就研究了一天百度地图的SDK,当前的版本:Android SDK v3.0.0 . 虽然百度地图网上相关代码比较多,大多可能都是比较旧的版本,且百度地图API的改动感觉也比较大,所以再此跟大家分享一下实现的流程的和注意事项 一.申请密钥 重难点:获取Android签名证书的sha1值 方法一.使用keytool 进入命令提示符 获取debug的sha1值: 定位到.android文件夹下,输入keytool -list -v -keystore de

Android onNewIntent()触发机制及注意事项

一.onNewIntent() 在IntentActivity中重写下列方法:onCreate onStart onRestart  onResume  onPause onStop onDestroy  onNewIntent 1.其他应用发Intent,执行下列方法: onCreate onStart onResume 发Intent的方法: Uri uri = Uri.parse("philn://blog.163.com"); Intent it = new Intent(In

60条Android开发注意事项与经验总结

1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效. 2.数据库表段字段常量和SQL逻辑分离,更清晰,建议使用Lite系列框架LiteOrm库,超级清晰且重心可以放在业务上不用关心数据库细节. 3. 全局变量放全局类中,模块私有放自己的管理类中,让常量清晰且集中. 4. 不要相信庞大的管理类的东西会带来什么好处,可能是一场灾难,而要时刻注意单一职责原则,一个类专心做好一件事情更为清晰. 5. 如果

详解Android Service 使用时的注意事项

最近有个项目刚好使用了Service,特别是AIDL远程服务,经过这次项目对Service有了更好的理解,在这里作个总结. startService / bindService 混合使用 每一次调用 startService 都会回调onStartCommand,之后调用了stopService之后就会 destroy Service.即使有多个client启动服务,那调用一次stopService 就能 destroy Service .通过这种方式还有一个好处就是Service可以通过调用

Android NDK中socket的用法以及注意事项分析

Android NDK中使用socket的整个过程分为以下几部分:第一部分: 创建socket并绑定IP和端口 复制代码 代码如下: #include <sys/select.h>#include <sys/socket.h>#include <arpa/inet.h>#define MAX_DATA_BUF_LEN 10240int sd = INVALID_SOCKET;sockaddr_in addr_org;  // 发送端地址sd = socket(AF_IN

Android Studio添加第三方库的注意事项

前言 很多人开始安卓入门的学习,都会选择Google官方的Android Studio作为开发工具,由于他跟之前的Eclipse不太一样,所以出的问题也比较多.主要是导入的问题和android studio自带的android 高版本SDK所带来的问题. 首先说一说将第三方库导入Android Studio的方法,以xUtils为例,导入jar包的方式,比较简单,再次不做介绍.我门主要讲的是library库文件引入的方式. 第一步我们要做的是将要引入的包,放在我们的工程目录下,如下图 然后在我们

Android Studio打包.so库到apk中实例详解

Android Studio打包.so库到apk中实例详解 由于在原来的ADT的Eclipse环境中,用ndk_build工具生成了相应的各个.so库文件之后,eclipse工具就会自动把这些库导入到apk中.而Android Studio目前为止(1.1.0版本)还无法做到那么自动,但是我们可以通过以下方式进行. 首先在Android Studio工程的app目录下创建整个jni目录,jni目录里写Android.mk.Application.mk以及各类C/C++和汇编源文件.然后跟原来一样

Android Studio实现第三方QQ登录操作代码

来看看效果图吧     http://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8B%E8%BD%BD 下载SDKJar包 接下来就可以 实现QQ登录了, 新建一个项目工程 ,然后把我们刚才下载的SDK解压将jar文件夹中的jar包拷贝到我们的项目libs中 导入一个下面架包就可以 项目结构如下 打开我们的清单文件Androidmanifest 在里面加入权限和注册Activity 如下 <?xml version="1.0" encoding

Android Studio添加日志过滤方式

1.点击下方的 Android Monitor 2.点击右侧的选项菜单 3.点击菜单下拉列表中的 Edit Filter Configuration,打开配置界面 4.配置界面说明 第1部分是为这个过滤器输入名称,第2部分是一些过滤信息的配置:Log Tag 是根据log.d("XXX","show");方法中的XXX参数属性过滤,配置该项之后只会显示日志中Tag为XXX的日志;Log Message是根据日志信息过滤:Package Name是根据包名过滤:Log

Android studio 添加assets文件夹的方法

我们知道Eclipse创建的工程默认是有个assets文件夹的,但是Android studio默认没有帮我们创建,那么我们就自己创建一个就好啦. (1)手动创建 在项目的顶部有个下拉,默认选择的是Android, 但是在Android 模式下不能真实反映整个工程的目录结构,所以我们点击它在下拉选项中选择Project,选完之后目录发生了变化 我们找到/src/main,选中main文件夹右键新建一个文件夹,命名为assets,这样就OK了. (2)自动创建 Android studio提供了一

Android Studio导入第三方类库的方法

一.导入*.jar包 1.直接copy ①复制*.jar包,粘贴到主工程目录的libs下边 ②右键,将此jar包设置成自己的library ③然后在工程右键的选择项目单击Open Module Settings,在Dependencies中选择添加文件 这样,就表示jar包添加成功了. 打开app目录下的build.gradle 表示添加成功. 2.build.gradle里边添加一句: 复制代码 代码如下: compile fileTree(include: ['*.jar'], dir: '

详解android.mk中引用第三方库的方法

一.集成第三方jar包: 1.在项目目录下创建目录libs(不创建也行,一会儿指向对应路径就好),将第三方的jar包放进去. 2.在Android.mk文件中进行配置: include $(CLEAR_VARS) LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := smartphotolib:../../libs/smartphotolib.jar #前面为自定义的名(umeng_message_push),起什么名都可以,":"后面的为jar包在项目下对应

android studio无法添加 bmob sdk依赖问题及解决方法

1,关闭 app的  grader.build下的implementation 对应sdk依赖.注释掉 2,去bmob官网下载sdk 压缩包,解压,找到lib文件夹.看到的是这样的: https://www.bmob.cn/downloads 3,因为  3下面的几个jar是可以正常添加依赖的,就不需要额外手动添加了.只用添加1,2,3 . 在app下创建libs 文件夹,将  图片红框3放入:然后在src/main下创建JniLibs,将图片红框1,2 放入. 4,在app的gradler.b

android studio 新手入门教程(二)项目的导入教程图解

上篇文章介绍了AS的一些常用设置方法,当工具调教妥当后,自然就要开始项目的开发啦.从零开始新建一个项目,这个简单,不必多说,这篇博客会分享我从旧平台eclipse导入项目到AS的过程,以及遇到的一些问题并如何解决.开篇先粗略的提一些需要注意的地方. ##结构目录 和eclipse不同,在android 视图下的项目目录分为java,res和manifests. manifests目录存放清单文件,不必多说. java目录会默认生成三个文件夹,其中test为在本机执行单元测试代码的目录, andr