Android Studio工程导入及坑的解决
作者:kiba_zwei 发布时间:2022-01-12 20:48:31
由于工作原因,需要将工程传递给一些新人小朋友,交互过程中,发现有几个典型的问题值得记录分享一下,以资来者。
Androdi Studio 导入工程步骤
AS导入工程常用的有两种途径一种是通过本地工程导入,还有一种是从远端的版本管理仓拉取工程。
本地工程导入
本地工程导入比较简单,点击菜单File
,然后找到Open...
点击,便可以得到下图。
在目录栏目输入你本地工程所在地址,便可以看到你的本地工程名,而且还是一个Android机器人的图标,选中后点击OK
即可完成本地工程导入。
需要说明的是,这种导入方式的前提是本地工程也是有Android Studio IDE 开发的,如果不是的话,需要使用File
-New
-Import project...
进行导入。
新版的AS会帮你自动替换一些本地SDK的路径什么的,基本上一路点Yes就可以了。
远端库导入
远端库拉取工程的方法也不复杂,只是在导入前我们要进行一下用户配置。
首先通过File
-Settings
进入IDE设置页找到Version Control
里的对应仓平台,我由于没有科学上网,所以选择了Gitee平台,如果’Settings’中没有这个选项,从上面Plugins里面下一个插件即可。
通过小加号增加自己在该平台的用户,然后就可以直接从该平台拉取代码了。
然后,通过File
-New
-Project from Version Control...
单击导入,如下图。
将我们需要的需要的远程仓地址填入URL中(如:git@gitee.com:kiba03/DeveloperLab.git),再点击Clone按钮即可完成导入。
检查点&修改方案
local.properties
导入了新的工程到AS中后,新版的IDE会自动帮你替换相关的SDK地址等。保险起见,还是检查一下为好。
local.properites
是工程的本地配置文件,一般会存有SDK的地址,其他的本地配置建议另建一个目录比较好。所以,外部导入的新工程可能这个地方还会是之前的设备的SDK地址,这块首先要改成自己的,如果不知道的话,本地新建一个工程,同样目录下找到local.properties复制过来即可。
## This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Mon Aug 30 23:04:19 CST 2021
sdk.dir=C\:\\Users\\kiba\\AppData\\Local\\Android\\Sdk
Gradle版本
gradle是一个类似maven的打包框架,对于Android初学者而言比较头疼,经常是被gradle版本对不上而导致工程导入失败。作为菜鸟,一口气解决gradle报出的所有疑难杂症,显然是不现实的,但起码要学会查看项目的gradle版本。
右键单击项目根目录,菜单中选择Open Module Settings
在Project栏目先我们可以看到,当前工程的gradle插件版本为4.1.1,gradle版本为6.5。
新导入的工程无法编译九成就是工程gradle版本不支持导致的。如果科学上网的话,可以通过ide自动帮你从官网下载,如果没有,则极有可能下载超时。这个时候就是通过这个版本号到百度查找对应的下载包,然后修改gradle-wrapper.properties
中的distributionUrl
字段为本地目录
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
Android版本
当导入成功了工程,并能启动编译并且安装到测试机了。你的导入工作基本上完成了90%,下面跑一下基本功能吧。有时候最后一步也无法顺利完成,APP在启动中crash了。。。
这个时候用logcat查看崩溃日志是最直接的方法。除了这个外,还可以考虑查看一下当前测试机Android版本和工程的Android版本是否匹配,有些时候Android版本的不匹配会导致接口调用失败,从而导致APP crash。
打开AndroidManifest.xml
文件,可以看到类似下列代码。
android {
compileSdkVersion 30
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.example.developerlab"
minSdkVersion 28
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
其中‘compileSdkVersion’表示编译Android SDK版本,minSdkVersion
表示APP运行要求的手机最低安卓版本,targetSdkVersion
表示目标手机Android版本。一般情况下,要想APP能够流畅的在手机上运行,手机Android版本一定要大于等于Android版本。
Android 10的版本号为29,Android 11为30,其他的版本号可以查阅Google官网
如果发现当前测设备Android版本低于工程需要,别纠结了立刻换测试机,因为即使你通过修改代码解决了一个api兼容问题,后面还可能有无数个api兼容问题等着你呢。尽可能避免这种劝退事件的发生。
来源:https://blog.csdn.net/kiba_zwei/article/details/124955877


猜你喜欢
- package org.itat.stax;import java.io.IOException;import java.io.InputS
- 先利用jsoup将得到的html代码“标准化”(Jsoup.parse(String html))方法,然后利用FileWiter将此htm
- 本文实例讲述了Java生产者消费者模式。分享给大家供大家参考,具体如下:java的生产者消费者模式,有三个部分组成,一个是生产者,一个是消费
- 最近几年玩得最疯狂的应该是发红包了,尤其是过年的时候特别受欢迎,下面写了红包的随机算法,其实挺简单的,仅是提供一种思路,希望可以给大家一些启
- 本文实例讲述了Java基于IO流读取文件的方法。分享给大家供大家参考,具体如下:public static void readFile(){
- Device Administration对于这个应用,市场上很多,但是看一下评论就知道效果有多差了,因为99%一键锁屏应用没办法卸载。今天
- 本文实例为大家分享了Android创建发送和接收短信应用的简单实现过程,供大家参考,具体内容如下一、接收短信项目的结构如下:一个简单的接收和
- 首先,ListView不能直接用,要自定义一个,然后重写onMeasure()方法:@Override protected vo
- 1.创建列表(列表可以存储任何类型的数据,在创建列表对象的时候首先要指定你要创建的这个列表要存储什么类型的)(泛型)//创建列表  
- 一般来说在Android里要实现树形菜单,都是用ExpandableList(也有高手自己继承ListView或者LinearLayout来
- 本文实例为大家分享了java生成登录随机验证码的具体代码,供大家参考,具体内容如下验证码工具类: VerifyUtil.javaimport
- 最近开发了比较多的接口,因为没有可参考的案例,所以一开始一直按照我的理解进行开发。开发多了发现自己每个结果都写了相同的代码:try() {}
- 引言你在服务端的安全管理使用了 Spring Security,用户登录成功之后,Spring Security 帮你把用户信息保存在 Se
- 0.简介GridView 和 ListView 有共同的父类:AbsListView,因此 GridView 和 ListView 具有一定
- IDEA单元测试报错:Class not found:xxxx springboot报错引入了新依赖,想着在测试模块进行测试。结果报错说Cl
- VelocityTracker顾名思义即速度跟踪,在android中主要应用于touch even。Velocit
- Mybatis防止sql注入原理SQL 注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL 语句 * 入到执行的实体字段中(例如,为
- 安装方法一:1.Android studio File->Settings..->Plugins–>Browse repo
- 前言:根据ThreadPoolExecutor的构造方法,JDK提供了很多工厂方法来创建各种用途的线程池.1 newFixedThreadP
- 本文主要讲解MVP开发模式以及具体实例。一、简介MVP(Model View Presenter)模式是著名的MVC(Model View