【GiraKoo】重置Android Studio环境的几个方案

【GiraKoo】重置Android Studio环境的几个方案

Android Studio经常在编译时,发现一些奇奇怪怪的编译/运行问题。
明明是很小的改动,但是出现了一些不相关的错误。搞不清楚究竟是什么原因导致的。
这时候,就需要考虑重置Android Studio环境的几个方案。

Invalidate Caches

在"File"菜单中,找到"Invalidate Caches"
image

都给勾选上,选择"Invalide and Restart"
image

卸载App

  1. 在"File"--"Setting"--"Plugins"中,安装ADB Idea
    image

  2. 选择"ADB Clear App Data"
    image

Refresh Linked C++ Project

当变更了C++代码,或者Lib时,可能会出现Android未识别的情况。
在编译完成之后,需要在"Build"--"Refresh Linked C++ Project"命令,重新进行加载。

image

Logo
本文来自博客园,作者:GiraKoo
转载请注明原文链接:http://www.cnblogs.com/girakoo/p/17286455.html
友情链接:GiraKoo 博客园 CSDN 稀土掘金

本文转载于网络 如有侵权请联系删除

相关文章

  • Java数据类型—StringBuilder与StringBuffer「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。StringBuilder与StringBufferStringBuilder与StringBuffer作用就是用来处理字符串,但String类本身也具备很多方法可以用来处理字符串,那么为什么还要引入这两个类呢?前面我们讲解到String对象的不可变性,以及它的不足那就是创建新的对象,具体你可以查看文章String进阶之不可变性,因为它是不可变的,所以你对它的操作逻辑就体现在另外一个对象里,那就是你的操作新创建的对象。这种操作最常见的就是字符串的拼接,所以我们几天学习的这两个类都是为了解决这个问题的,那既然都是为了解决这个问题的,为什么会有两个类的,我们后面慢慢分析初识首先看下面的例子@Test publicvoidtestPerformance(){ Stringstr0="hello,world"; longstart=System.currentTimeMillis(); for(inti=0;i<100000;i++){ str0+=i; } System.out.println(System.curren

  • 在哪下载Mysql数据库的JDBC驱动jar包[通俗易懂]

    大家好,又见面了,我是你们的朋友全栈君。目录在哪下载Mysql数据库的JDBC驱动jar包(1)进入此链接:(2)选择需要支持的语言(3)选择其运行平台:(4)注意看后缀,点击下载。​(5)小调查(7)解压在哪下载Mysql数据库的JDBC驱动jar包该jar包的作用:连接数据库!(1)进入此链接:https://dev.mysql.com/downloads/(2)选择需要支持的语言(3)选择其运行平台:(4)注意看后缀,点击下载。(5)小调查然后会跳出来一个东西--自己随便填填就好。英文大意大概就是,如果你想要下载的话,有一些附加的信息需要被你填写,就相当于是一个小调查来着==(6)点击下载然后这样就下载好了。(7)解压zip包裹,解压出来,其中的jar包就是我们需要的东西了。发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143552.html原文链接:https://javaforall.cn

  • Node.js 全局对象(上)

    JavaScript中有一个特殊的对象,称为全局对象(GlobalObject),它及其所有属性都可以在程序的任何地方访问,即全局变量。在浏览器JavaScript中,通常window是全局对象,而Node.js中的全局对象是global,所有全局变量(除了global本身以外)都是global对象的属性。在Node.js我们可以直接访问到global的属性,而不需要在应用中包含它。全局对象与全局变量global最根本的作用是作为全局变量的宿主。按照ECMAScript的定义,满足以下条件的变量是全局变量:在最外层定义的变量;全局对象的属性;隐式定义的变量(未定义直接赋值的变量)。当你定义一个全局变量时,这个变量同时也会成为全局对象的属性,反之亦然。需要注意的是,在Node.js中你不可能在最外层定义变量,因为所有用户代码都是属于当前模块的,而模块本身不是最外层上下文。注意:最好不要使用var定义变量以避免引入全局变量,因为全局变量会污染命名空间,提高代码的耦合风险。__filename__filename表示当前正在执行的脚本的文件名。它将输出文件所在位置的绝对路径,且和命令行参数所

  • 矩阵快速幂

    之前了解的快速幂是针对一个数的,原来矩阵也有快速幂!原题连接:CSU-1597Description薛XX的低IQ是个令人头疼的问题,他的队友深受其害。幸运的是,薛XX非常有钱,所以他买了一些可以提高他的后代的IQ的药。这种药有三个属性,A,B和P。当薛XX使用这种药的时候,他的基因会发生变化,所以他的儿子的IQ也会跟着变化。假设薛XX的父亲的IQ为X,薛XX自己的IQ为Y,那么薛XX的儿子的IQ为(AX+BY)modP。薛XX的孙子的IQ依次类推。 现在给定X和Y,还有药的属性A、B和P,现在他想知道他的N代子孙的IQ(儿子是第一代,孙子是第二代)。Input第一行包含一个整数T(T<=100),表示数据组数 每组数据只有一行,包含六个整数X,Y,A,B,P,N(1≤X,Y≤300,1≤A,B≤30,1≤P≤300,1≤N<1000000000),含义如题目所述Output对于每组数据,输出答案SampleInput4 18080111901 18983221901 18983111902 1727323192739999复制SampleOutput70 164 165

  • 安全之困——入门到进阶之惑解答

    前后有很多人问我,安全该怎么学,今天正好是2021的第一天,我把自己的学习方法和思路共享给大家,愿大家能有所收获。网络安全这一行业,说好上手就好上手,但说难也难。为什么有的人只用了几个月就构建好了对安全体系的大概认知,又为什么有的人学了几年还是无法进行独立渗透测试。首先要明确自己要学习的方向,换句话说,你需要制定一个目标:是做一个安服工程师还是渗透测试工程师?你想做一个病毒分析师还是应急响应工程师?在你明确了自己的目标之后,你应该去互联网进行大量的信息收集,全方位了解每个职位究竟是做什么的,这些收集途径包括但不限于:BOSS直聘、搜索引擎、微信公众号。经济基础决定上层建筑,学习方向也会决定你以后会不会走偏。接下来我会以渗透测试工程师为基础进行进行阐述一、如何制定自己的学习路径在你对自己的职业目标有了定位之后,你需要制定自己的学习路径,这里我推荐以下几个方面:1.BOSS直聘2.知道创宇技能图(https://blog.knownsec.com/Knownsec_RD_Checklist/index.html)3.红队技术图谱二、如何入门接下来我会以图书为重点展开详细阐述,学习周期为我根

  • Service三问

    作为Android四大组件之一,Service是一个可以后台运行的组件,执行长时间运行且不需要用户交互的任务。今天的三问就是关于Service:Service生命周期两种启动方式及区别,Service与Thread的区别怎么保证Service不被杀死Service生命周期startService生命周期:onCreate()->onStartCommand()->onDestory()启动服务:onCreate()->onStartCommand()多次启动服务:会重复执行onStartCommand()停止服务(stopService()):onDestory()bindService生命周期:onCreate()->onBind()->onUnbind()->onDestory()绑定服务:onCreate()->onBind()解绑服务:onUnbind()->onDestory()两种启动方式及区别,Service与Thread的区别1)两种启动方式及区别第一种方式是通过在Manifest.xml里面配置Service,然后使用C

  • spring redis java.lang.IllegalStateException: Cannot load configuration class: redis.RedisTemplet报错

    报错日志java.lang.IllegalStateException:Cannotloadconfigurationclass:redis.RedisTemplet atorg.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:414)~[spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE] atorg.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:254)~[spring-context-5.0.5.RELEASE.jar:5.0.5.RELEASE] atorg.springframework.context.support

  • 疫情来袭,30分钟学会用python开发部署疫情可视化网站

    疫情来袭,宅在家的我们不如学习用python如何开发部署一个疫情实时追踪可视化页面,还可以定制你家乡专属的可视化图表。先来看看效果吧首页效果图数据查询效果图可以看到,既能实现数据可视化,也能实现数据查询等功能。关键的是从开发到部署最快只要30分钟就能上线!那我们开始吧。准备[「必须」]一台服务器并配置好anaconda与mysql。如果还没有服务器的小伙伴可以看我之前文章的购买并配置自己的云服务器一台电脑并配置好mysql。可以看之前文章centos如何配置mysql基础编程知识软件:navicat、filezilla(之前文章都有介绍哦)python相关:requests(数据爬取)、pyecharts(数据可视化)、Django开始本次开发的需求很明确,简单说来就是三步爬取数据数据可视化将可视化的结果部署到服务器那么上面的前两步可以翻阅我前几篇文章,都已详细的说明如何从互联网上取得数据并利用pyecharts进行可视化。那么我假设你已经写好了可视化的程序,在使用pyecharts进行可视化的最后,使用.render('map1.html')#意思将图片转换为ht

  • 夯实安全“三大体系”建设,腾讯云打造安全可靠的云上高速公路

    产业互联网时代,5G、AI、云计算等新一代信息技术与应用不断深化,加速了各行业数字化和产业升级的进程。在企业上云、资产数字化的背景下,安全不只是企业经营的底线,更是制约企业发展的天花板。越来越多的企业在利用数字化技术转型升级的同时,更加注重在安全方面的建设和投入,安全逐渐成为评估和遴选云服务提供商的关键考量指标之一。 凭借云上基础设施建设的不断夯实以及业界领先的信息安全实力,腾讯云已成为最值得信赖的云计算服务商之一。2019年,腾讯云在前三季度已实现收入超100亿里程碑,并保持行业第一的增长速度。在智慧出行、零售、金融、泛互联网等备受关注的垂直产业领域,腾讯云更是打造了多个数字化转型标杆案例。 一直以来,腾讯云始终视服务稳定和信息安全为自身发展的生命线。一方面持续加大基础设施建设,业界率先实现“全网服务器总量超过100万台,带宽峰值突破100T”的双百里程碑,提升云平台的容灾能力,保障云服务的连贯性;另一方面,腾讯云为云上租户安全构建了业务安全“护城河”,从安全人才、技术、生态三个方面发力,为企业数字化转型提供护航服务,打造安全可靠的云上高速公路。 夯实基础、关注前沿 以技术实力保障业

  • LeetCode题解002:两数相加

    两数相加题目给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 您可以假设除了数字0之外,这两个数都不会以0开头示例:输入:(2->4->3)+(5->6->4) 输出:7->0->8 原因:342+465=807复制方法:初等数学思路我们使用变量来跟踪进位,并从包含最低有效位的表头开始模拟逐位相加的过程图1,对两数相加方法的可视化:342+465=807,每个结点都包含一个数字,并且数字按位逆序存储算法就像你在纸上计算两个数字的和那样,我们首先从最低有效位也就是列表l1和l2的表头开始相加。由于每位数字都应当处于0…9的范围内,我们计算两个数字的和时可能会出现“溢出”。例如,5+7=12。在这种情况下,我们会将当前位的数值设置为2,并将进位carry=1带入下一次迭代。进位carry必定是0或1,这是因为两个数字相加(考虑到进位)可能出现的最大和为9+9+1=19伪代码如下:将当前结点初始化为返回列表的哑结点 将进

  • 簇表及簇表管理(Index clustered tables)

    --========================================--簇表及簇表管理(Indexclusteredtables)--========================================簇表是Oracle中一种可选、的存储表数据的方法。使用簇表可以减少磁盘I/O,改善访问簇表的联结所带来的资源开销,本文讲述了簇表的原理、创建以及管理簇表等。一、什么是簇表及簇表的特性1.簇表由共享相同数据块的一组表组成。在堆表的管理过程中,对于某些表的某些列和另外的表的某些列经常被用来联结使用,可以将这些表的联结列作为共享的公共列而将这些表组合在一起。这就是簇表形成的原因。例如,scott模式中,有emp表,dept表,两个表经常使用deptno列来进行联结,为此,我们共享deptno列,将emp和dept表组成簇表。组成簇表后,Oracle物理上将emp和dept表中有关每个部门所有行存储到相同的数据块中。簇表不能等同于SQLserver中的簇索引,两者并不是一回事。SQLserver中的簇索引是使得行的存储按索引键来存储,类似于IOT表。2.簇键簇键是列或

  • python解决八数码问题

    八数码问题也称为九宫问题。在3×3的棋盘,摆有八个棋子,每个棋子上标有1至8的某一数字,不同棋子上标的数字不相同。棋盘上还有一个空格,与空格相邻的棋子可以移到空格中。要求解决的问题是:给出一个初始状态和一个目标状态,找出一种从初始状态转变成目标状态的移动棋子步数最少的移动步骤一开始也是两眼一抹黑,连八数码是什么都不知道,经过度娘得到如上结果。那该如何实现呢?如果移动数字的话,8个数字,每次移动有4种选择,那就是32个种移动方案。那移动空格就只有4种选择,一下子清楚了很多。至于存储方案当然是数组了,交换起来多方便,是吧? 实现方式呢?最初实验要求使用回溯算法解决,什么,回溯?!那不是和深度优先一样吗?无脑走找结果?算了,先试试吧。importnumpyasnp #返回两个数组对应位置相同值的个数 defcalc(state1): b=np.array([[1,2,3],[8,0,4],[7,6,5]]) postion=np.where(state1==b) returnlen(state1[postion]) #打印八数码 defshowInfo(a): foriinrange(3)

  • AngularJS 中的Promise --- $q服务详解

    先说说什么是Promise,什么是$q吧。Promise是一种异步处理模式,有很多的实现方式,比如著名的KrisKwal'sQ还有JQuery的Deffered。 什么是Promise以前了解过Ajax的都能体会到回调的痛苦,同步的代码很容易调试,但是异步回调的代码,会让开发者陷入泥潭,无法跟踪,比如:funA(arg1,arg2,function(){ funcB(arg1,arg2,function(){ funcC(arg1,arg2,function(){ xxxx.... }) }) })复制本身嵌套就已经很不容易理解了,加上不知何时才触发回调,这就相当于雪上加霜了。但是有了Promise这种规范,它能帮助开发者用同步的方式,编写异步的代码,比如在AngularJS中可以使用这种方式:deferABC.resolve(xxx) .then(funcSuccess(){},funcError(){},funcNotify(){});复制当resolve内的对象成功执行,就会触发funcSuccess,如果失败就会触发funcError。有点类似deferABC.res

  • GraphicsMagick安装&make命令使用

    0.0本过程为GraphicsMagickLinux版安装,通过典型的make编译安装。未了支持png和jpg格式,首先请安装依赖。执行yuminstall-ylibpng-devel yuminstall-ylibjpeg-devel复制下载GraphicsMagick1.0将GraphicsMagick放置目录中,这里讲下载的.tar.gz文件放置/opt路径下,也在/opt路径中安装,可以根据自己实际情况改变。tar-zxfGraphicsMagick-1.3.23.tar.gz-C/opt/复制1.1将GraphicsMagick解压缩至opt路径下,-C用来创建文件夹创建文件夹GraphicsMagickmkdir/opt/GraphicsMagick复制1.2进入解压路径cd/opt/GraphicsMagick-1.3.23配置config,默认安装,但是将安装路径指定通过–prefix=PATH 执行命令 配置安装路径./configure--prefix=/opt复制编译make复制安装makeinstall复制2.0配置环境变量vim/etc/profile.d/

  • Docker Compose容器编排

    一、Docker-Compose1.1、什么是DockerComposeCompose项目是Docker官方的开源项目,负责实现Docker容器集群的快速编排,开源代码在https://github.com/docker/compose上​我们知道使用Dockerfile模板文件可以让用户很方便的定义一个单独的应用容器,其实在工作中,经常会碰到需要多个容器相互配合来完成的某项任务情况,例如工作中的web服务容器本身,往往会在后端加上数据库容器,甚至会有负责均衡器,比如LNMP服务Compose就是来做这个事情的,它允许用户通过一个单独的docker-compose.yml模板文件YAML格式来定义一组相关联的应用容器为一个项目projectCompose中有两个重要的概念:服务service:一个应用的容器,实际上可以包括若干运行相同镜像的容器实例 项目project:由一组关联的应用容器组成的一个完整业务单元,在docker-compose.yml中定义1.2、安装#docker-compose版本选择:https://github.com/docker/compose/releas

  • Verilog Generate可以实现批量的信号定义与赋值、模块例化

    对于相关器(Correlator)电路,它对两个输入信号在一定窗口范围内进行乘积,然后对积进行叠加作为输出。如果需要低延时的相关器输出,就需要将每一个采样值作为被乘数(根据实际需要的过采样率来决定抽头个数)。一般这样的相关器会消耗更多的资源。 相关器实现的结构如图: 要实现这样的相关器,一种可行的做法是用MATLAB/C程序,产生期望的大量的格式化代码保存在.v文件,然后用`include把这段代码放到需要的地方(比如wire声明,reg声明,assign赋值,always里面<=赋值)。注意在工程中,将这些.v文件作为头文件而不是设计文件来管理(否则编译器认为语法出错)。这样做的缺点是:每一段代码需要用一个.v文件保存,而且每次进行代码修改都需要运行MATLAB/C程序。 Verilog有generate结构可以实现上述的“代码堆叠”操作。 上面的结构图中有3个地方可以generate:1、d1信号的采样移位。2、d2信号的采样移位。3、乘法器组。 模块的关键参数:1、N=30,为移位寄存器的阶数。2、每一级移位寄存器是5-bitSigned乘法器。3、din_shift_r

  • react倒计时

    exportdefaultclassTimerTestextendsComponent{ constructor(props){ super(props); this.state={ seconds:0 }; } tick(){ this.setState(preState=>({ seconds:preState.seconds+1 })); } componentDidMount(){ this.interval=setInterval(()=>this.tick(),1000); } componentWillUnmount(){ clearInterval(this.interval); } render(){ return( <div> Seconds:{this.state.seconds} </div> ); } } 复制    今日事今日毕

  • 2022 年值得测试同学关注的技术趋势

    国外有机构展望了2022年值得测试和开发同学关注的技术趋势,我在这里简单的给大家介绍一下,路漫漫其修远兮,大家一起求索吧。 混合组织成为常态 2022年很明显,有些人不会返回办公室,至少不会一直返回办公室。病毒大流行开始时最大的挑战之一就是远程工作的弱点和新机遇。 人们远程工作面临的最大困难是深陷工作无法自拔。另一方面,人们承认他们在在线交流和协作方面遇到的困难较少。全球CIO调查显示,截至2021年3月,31%的受访者预计将继续永久远程工作。据另一项调查显示,73%的雇员要求更灵活的工作选择。 对测试人员意味着什么 由于远程管理的困难降低使得原本对外包保持警惕的公司放弃了一些担忧。外包QA团队是内部团队的延伸。如果正确的设置流程,管理外包并不具有挑战性。更多的公司可能会开始使用外包的QA资源。 对通讯工具的需求不断增长 2020年3月,在线会议软件的使用量猛增。Zoom打破下载记录,股价上涨超过100%,GoogleHangouts提供半年免费使用高级计划,MicrosoftTeams一个月赢得了1200万用户。这样的故事在2021年听起来并不令人震惊。我们已经加入了用户行列,成为统

  • 准确看看 user32.dll 里有哪些导出函数(win7-32)

    看看user32.dll里有哪些导出函数,大家都会,但准确性???以MSdumpbin为标准,要做出来结果一模一样,才表示代码完全正确。 直接上代码: 1//ListExport.cpp:Definestheentrypointfortheconsoleapplication. 2// 3#include"stdafx.h" 4#include<windows.h> 5#include<winnt.h> 6 7extern"C"DWORD_stdcall_RVAToOffset(DWORD_lpFileHead,DWORD_dwRVA); 8extern"C"DWORD_stdcall_OffsetToRVA(DWORD_lpFileHead,DWORD_dwOffset); 9extern"C"DWORD_stdcall_getRVASectionName(DWORD_lpFileHead,DWORD_dwRVA); 10 11HANDLEm_file; 12HANDLEm_map; 13LPVOIDm_base; 14 15LPVOIDRvaToPtr(D

  • Cyclical Quest CodeForces - 235C 后缀自动机

    题意: 给出一个字符串,给出一些子串,问每个子串分别在母串中圆环匹配的次数, 圆环匹配的意思是将该子串拆成两段再首位交换相接的串和母串匹配,比 如aaab变成baaa,abaa,aaba再进行匹配。  题解:  如何求出所有的循环串出现的次数呢? 先将S串放入后缀自动机 把查询串扩大一倍,然后在后缀自动机上去匹配, 只要匹配长度大于子串长度小于2倍子串长度的,必然对应这一种循环串 记录一下 //每个节点子串出现的次数统计答案即可复制 1#include<set> 2#include<map> 3#include<stack> 4#include<queue> 5#include<cmath> 6#include<ctime> 7#include<cstdio> 8#include<string> 9#include<vector> 10#include<cstring> 11#include<iostream> 12#include

  • ubuntu 12.04 配置-1

    今天对ubuntu12.04系统进行了相关的配置,配置的主要内容有: 1)php+mysql+apache2web开发环境的搭建; 2)vim的简单保存退出指令; 3)文件和文件夹权限的更换; 4)新立德软件管理中心和特效管理;   详细的如下: 1)php+mysql+apache2web开发环境的搭建: 命令: sudoapt-getinstallXXX(软件名) 例子: sudoapt-getinstallmysql-server 原理: ubuntu这个命令是通过网上下载进行安装,是在线安装。   2)vim的简单保存退出指令: 命令: 在终端中输入vim进入vim编辑模式 编辑完后按ESC键进入命令模式,进入命令模式后有如下命令: :q  退出 :wq保存退出 :x  保存退出 :q! 强制退出   3)文件和文件夹权限的更换: linux系统中,每个文件和文件夹都是有有所有者和权限的,不同所有者有不同的权限,所以有时会遇上某些文件不能被删除和更改,甚至无法创建。 命令: sudo-i 

相关推荐

推荐阅读