01 AS 首次编译执行项目过程中遇到的几个常见问题
问题01 as打开时出现The environment variable JAVA_HOME (with The value of C:\Java\jdk1.8.0_101\bin) does not point to a valid JVM installtion
提示环境变量JAVA_HOME的值为C:\Java\jdk1.8.0_101\bin,与虚拟机安装路径不一致
因为JAVA_HOME=C:\Java\jdk1.8.0_101\bin 所以jdk安装在C:\Java\jdk1.8.0_101下,把JAVA_HOME的值改为C:\Java\jdk1.8.0_101(JDK安装目录)即可
参考解决办法:
问题02 守护进程问题: Error:Unable to start the daemon process.解决
导入一个项目出现了以下错误:
Error:Unable to start the daemonprocess.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
解决步骤:
1、修改项目中gradle.properties文件,只要添加以下一行代码:
org.gradle.jvmargs=-Xmx512m
2、重启Android Studio
参考解决办法:
https://blog.51cto.com/shenshizhong/1842691
https://blog.csdn.net/jianghehe1/article/details/80507820
问题03:Failed to find Build Tools revision 27.0.3
错误信息:
11:44 Gradle sync failed: Failed to find Build Tools revision 27.0.3 Consult IDE log for more details (Help | Show Log) (1 m 17 s 505 ms)
在安装Android studio 导入项目的时候,发现出现Failed to find Build Tools revision 27.0.3,导致编译并不能成功。主要问题是Android Studio编译的apt工具与目标项目导入的工具不一致导致的,我的一下载下来是30.0.2(E:\Android\Sdk\build-tools\30.0.2)的编译工具,而目标Android工程使用的是27.0.3的工具,所以我们需要去下载一个这样的编译工具。
下载build tools 27.0.3
下载地址:
1、http://mirrors.neusoft.edu.cn/android/repository/
2、链接:https://pan.baidu.com/s/1gZoXpiGaFN2G_mSWH950zg 密码:aofj
选择版本:
下载后的"build-tools_r27.0.3-windows"结构如下:
解压并放到相对应路径的文件夹下:
注:
1、这里的30.0.2文件夹可以不用删除
2、一开始这个对应的路径下是没有"27.0.3"这个文件夹的,我们可以自己先创建一个27.0.3文件夹,之后把下载的"build-tools_r27.0.3-windows"中的内容拷贝到27.0.3文件夹下,拷贝复制后的内容:
这时候我们再次rebuild后,发现工程里面的编译小三角行可以用了
参考解决办法:
https://blog.csdn.net/xudailong_blog/article/details/84756945
https://blog.csdn.net/qq_31490071/article/details/82388653
问题04 连接手机编译执行时问题:Could not find any version that matches com.android.support:appcompat-v7:30.+.
Could not find any version that matches com.android.support:appcompat-v7:30.+.
Versions that do not match:
26.0.0-alpha1
25.3.1
25.3.0
25.2.0
25.1.1
+ 50 more
Searched in the following locations:
file:/E:/Android/Sdk/extras/m2repository/com/android/support/appcompat-v7/maven-metadata.xml
file:/E:/Android/Sdk/extras/m2repository/com/android/support/appcompat-v7/
file:/E:/Android/Sdk/extras/google/m2repository/com/android/support/appcompat-v7/maven-metadata.xml
file:/E:/Android/Sdk/extras/google/m2repository/com/android/support/appcompat-v7/
file:/E:/Android/Sdk/extras/android/m2repository/com/android/support/appcompat-v7/maven-metadata.xml
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/maven-metadata.xml
https://jcenter.bintray.com/com/android/support/appcompat-v7/maven-metadata.xml
https://jcenter.bintray.com/com/android/support/appcompat-v7/
Required by:
project :app
Please install the Android Support Repository from the Android SDK Manager.
Open Android SDK Manager
反正大概意思就是个版本问题,虽然不太清楚到底是哪个版本啥啥啥的,干脆直接在Module的build.gradle里这么改(改掉第三行的正则):
将如下的配置:
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:29.+' implementation 'com.android.support.constraint:constraint-layout:1.1.3' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' }
更改为:
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:+' implementation 'com.android.support.constraint:constraint-layout:1.1.3' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' }
参考解决办法:
https://blog.csdn.net/afireswallow/article/details/91129831
https://blog.csdn.net/m0_43421409/article/details/96491833
第一次编译执行app
连续遇到了上面4个坑,依次解决后,开始连接手机,编译执行app
问题05 AS如何连接手机真机编译执行app(以华为手机为例)
依次打开:
设置
关于手机:
连续多次单击版本号
直到出现"您处于开发者模式"的提示之后停止单击
再次连续单击,会提示"您已处于开发者模式,无需进行此操作"
再次进入设置,"系统和更新"
"开发人员选项":
看到"开发人员选项"已经开启
下拉"开发人员选项",开启"USB调试"
成功开启"USB调试"后,Android Studio就可以识别手机了。
启动运行app程序:
华为手机已经识别到并连接:
单击ok,开始启动执行程序
同步配置成功:
构建配置成功:
手机端开始确认安装程序:
至此,第一个测试app执行安装成功
编译成功执行后,AS中工程目录在Android模式下,文件结构才会清晰的分类为
配置(manifests)、Java源码(Java)、以及资源文件(res)
反之,在没有成功编译执行前,Android模式下的代码结构几乎和project模式下一致
01 AS 首次编译执行项目过程中遇到的几个常见问题的更多相关文章
- 跟我extjs5(03--在项目过程中加载文件)
跟我extjs5(03--在项目过程中加载文件) 上一节中用sencha工具自己主动创建了一个项目.而且能够在浏览器中查看. 如今我们来看看js类载入过程. 例如以下图所看到的: watermark/ ...
- Bug,项目过程中的重要数据
作者|孙敏 为什么要做Bug分析? Bug是项目过程中的一个有价值的虫子,它不只是给开发的,而是开给整个项目组的. 通过Bug我们能获得什么? 积累测试方法,增强QA的测试能力,提升产品质量 发现项目 ...
- 编译recovery及过程中的部分错误解决
你必须使用32位或64位Ubuntu系统,关于如何建立编译环境和同步源码的指导,请自己查找有关指导的文章. 1, 安装所需要的包 2, 建立编译的环境,并同步CWM所需的源码,CyanogenMod源 ...
- SAP HANA项目过程中优化分析以及可行性验证
在项目开发过程中,经常会遇到HANA模型运行效率的问题: 以我们项目为例,HANA平台要求模型运行时间不能超过10秒,但是在大数量和计算逻辑复杂的情况下(例如:ERP中的BKPF和BSEG量表的年数据 ...
- 将Eclipse项目转换成AndroidStudio项目过程中遇到的问题以及解决方法
将Eclipse项目转换成AndroidStudio项目也不是第一次了,昨天转的时候遇到几个问题: 首先将项目导入androidstudio,导完后报错: 问题一: Error:java.util.c ...
- djang小项目过程中的小问题 01(django中的configrarion配置、django自带命名规范)
不知道为什么,明明照着做,但是我就会遇到一些错误问题,但是我觉着自己生下来就是解决问题的. ##1. 第一个是在django运行时,没有配置configration, 这个时候我添加一个django ...
- webpack 创建vue项目过程中遇到的问题和解决方法
目录 1 webpack简介 2 webpack实现多个输入输出多个html 3 webpack 中的module下rules 下的use和loader选项 4 webpack 文件更新,如何使页面 ...
- 学校项目过程中知识点 Java 2015/9/15 晚
##命令行运行Java程序1.文件Java的源代码存放在扩展名为“.java”的文件中:Java源文件编译后,得到“.class”的文件2.方法命令行下编译java源代码的方法:javac 文件名. ...
- 使用protobuf编译onnx.proto过程中的一些问题总结
使用git clone下载protobuf的源代码,然后git checkout到branch2.7.0: 编译protobuf,先在代码顶层目录执行./configure,然后执行make,成功后执 ...
随机推荐
- XMLHttpRequest 简单封装
当开发简单页面的时候,不需要引入任何js库,这时需要封装一个用到 XMLHttpRequest 对象的好用的接口请求. simple 封装如下 ajaxRequest({ url: '', metho ...
- 08_Python的数据类型
1.数字(整型int 浮点型float 复数complex) 1.数字概述 不可变类型,一旦创建不可修改,不是迭代对象,属于原子型 2.整型数int 概述: 整型数是不带有小数部分的数字,包括自然数, ...
- C014:不用算术分割显示逆序三位数
程序: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int handred,ten,ge; do{ pri ...
- 索引对单列极值查询的显著性影响(百万级别表单列最值查询 Cost由1405变成3)
表结构: create table hy_emp( id number(7,0) primary key, name nvarchar2(20) not null, salary number(5,0 ...
- PHP的八个魔术常量
1. 什么魔术常量 预定义常量:预定义常量就是PHP内置的常量,预先定义好的 PHP有很多预定义常量,比如:PHP_VERSION(版本号).PHP_OS(操作系统). 这些普通的预定义常量在程序中的 ...
- mysqli报错注入常见函数
以下均摘自<代码审计:企业级Web代码安全架构>一书 1.floor() select * from test where id=1 and (select 1 from (select ...
- CentOS中rpm和yum到底有什么区别?
2020/5/19 ( Linux 软件安装的学习链接:http://c.biancheng.net/view/814.html ) 一.rpm 是什么? rpm 全称 Red-Hat Pa ...
- 小BUG大原理:FastJSON实体转换首字母小写的尴尬事件
问题描述 因为项目连接的Oracle数据库,字段名映射方便使用大写,但是通过接口调用返回到前端的字段名首字母为小写,这样带来的问题前端显示的字段就需要写这种很尴尬的格式. 原因分析 开发环境使用的是S ...
- 用后台开发的逻辑理念学习VUE
前言 近些年前端开发快速发展,现在学习前端已经不像以前那样仅仅学习一个语法就可以了,它已经是一门编程技术了,它们有自己独立的类似Main函数的入口,有像MVC一样规范好的层次结构,有自己的开发工具可以 ...
- JVM强引用、软引用、弱引用、虚引用、终结器引用垃圾回收行为总结
JVM引用 我们希望能描述这样一类对象: 当内存空间还足够时,则能保留在内存中:如果内存空间在进行垃圾收集后还是很紧张,则可以抛弃这些对象. -[既偏门又非常高频的面试题]强引用.软引用.弱引用.虚引 ...