热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

分享AndroidStudio3.1.X中正确导入项目的方法

AndroidStudio3.1.X中导入项目的正确方法分享-前言最近在使用AndroidStudio3.1.2导入以前的项目遇到一些坑,借此机会把相关处理方法分享出来。下面以导入

前言

最近在使用Android Studio 3.1.2导入以前的项目遇到一些坑,借此机会把相关处理方法分享出来。

下面以导入Android Studio2.3.3项目为例:

在此之前先建议你用Android Studio 3.1.2创建一个新的项目,看看有哪些变化,这对你很有帮助。

修改app\build:gradle

修改compileSdkVersion和buildToolsVersion

修改前,

compileSdkVersion 23
buildToolsVersion '25.0.0'

修改后:

compileSdkVersion 27
buildToolsVersion '27.0.3'

其中buildToolsVersion 是在Android Studio 3.0之后取消了,你可以保留也可以注释掉,在defaultConfig方法中将targetSdkVersion 为27并增加一下代码。

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

修改依赖关键字 compile(implementation/api),provided(compileOnly),apk(runtimeOnly)

修改前:

dependencies {
 compile fileTree(include: ['*.jar'], dir: 'libs')
 compile name: 'SMSSDK-3.0.0', ext: 'aar'
 compile name: 'SMSSDKGUI-3.0.0', ext: 'aar'
 compile 'com.android.support:appcompat-v7:23.4.0'
 compile 'com.android.support:design:23.4.0'
 compile 'com.android.support:recyclerview-v7:23.4.0'
 compile 'de.hdodenhof:circleimageview:2.1.0'
 compile 'com.youth.banner:banner:1.4.9'
 compile 'com.facebook.fresco:fresco:0.13.0'
 compile 'com.squareup.okhttp3:okhttp:3.4.1'
 compile 'com.google.code.gson:gson:2.8.0'
 compile 'com.github.bumptech.glide:glide:3.7.0'
 compile 'com.android.support:support-v4:23.4.0'
 compile 'com.foamtrace:photopicker:1.0'
 compile 'com.github.chrisbanes.photoview:library:1.2.4'
 compile 'com.android.support.constraint:constraint-layout:1.0.2'
 testCompile 'junit:junit:4.12'
 compile project(':ZXingAndroid')
 compile 'com.google.zxing:core:3.3.1'
}

修改后:

dependencies {
 implementation fileTree(include: ['*.jar'], dir: 'libs')
 implementation 'com.android.support:appcompat-v7:27.1.1'
 implementation 'com.android.support.constraint:constraint-layout:1.1.1'
 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'
 implementation name: 'SMSSDK-3.0.0', ext: 'aar'
 implementation name: 'SMSSDKGUI-3.0.0', ext: 'aar'
 implementation 'com.android.support:appcompat-v7:27.1.1'
 implementation 'com.android.support:design:27.1.1'
 implementation 'com.android.support:recyclerview-v7:27.1.1'
 implementation 'de.hdodenhof:circleimageview:2.1.0'
 implementation 'com.youth.banner:banner:1.4.9'
 implementation 'com.facebook.fresco:fresco:0.13.0'
 implementation 'com.squareup.okhttp3:okhttp:3.4.1'
 implementation 'com.google.code.gson:gson:2.8.0'
 implementation 'com.github.bumptech.glide:glide:3.7.0'
 implementation 'com.android.support:support-v4:27.1.1'
 implementation 'com.foamtrace:photopicker:1.0'
 implementation 'com.github.chrisbanes.photoview:library:1.2.4'
 implementation 'com.android.support.constraint:constraint-layout:1.0.2'
 implementation 'com.google.zxing:core:3.3.1'
}

修改项目下的XXX(项目名)\build:gradle

修改前:

// Top-level build file where you can add configuration options common to all sub-projects/modules. 
 
buildscript { 
 repositories { 
 jcenter() 
} dependencies { 
 classpath 'com.android.tools.build:gradle:2.3.3' 
 
 // NOTE: Do not place your application odependencies here; they belong 
 // in the individual module build.gradle files 
} 
} 
 
allprojects { 
repositories { 
 jcenter() 
 maven {url "https://jitpack.io" } 
} 
} 
 
task clean(type: Delete) { 
delete rootProject.buildDir 
}

修改后:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
 
buildscript {
 repositories {
 google()
 jcenter()
 }
 dependencies {
 classpath 'com.android.tools.buiwld:gradle:3.1.3'//与AS版本号保持一致
 
 // NOTE: Do not place your application dependencies here; they belong
 // in the individual module build.gradle files
 }
}
 
allprojects {
 repositories {
 google()
 jcenter()
 maven { url "https://jitpack.io" }
 }
}
 
task clean(type: Delete) {
 delete rootProject.buildDir
}

repositories方法中都增加了google(),build:gradle改和当前AS版本号一致。

修改gradle-wrapper.properties

修改前:

#Tue Aug 29 08:07:34 CST 2017
distributiOnBase=GRADLE_USER_HOME
distributiOnPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributiOnUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

修改后:

#Tue Aug 29 08:07:34 CST 2017
distributiOnBase=GRADLE_USER_HOME
distributiOnPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributiOnUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

主要修改了:distributiOnUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

这里告一段落,上面都改好之后同步项目(sync)。我为什么建议你把上面的都改好之后再同步,这样省事儿,刚开始的时候我也是改一点同步一下,问题多且很浪费时间,如果其中有些问题没能解决就容易走偏。

如果报错:

Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details 

修改gradle.properties,增加如下代码

android.enableAapt2=false

如果有这个错误:这需要更新SDK,点击蓝色文字下载就好。

 

总结


推荐阅读
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 本文讨论了如何在dotnet桌面(Windows)应用程序中添加图标。作者提到可以使用dotnet命令行工具与resource.rc文件一起使用来为标准.NET核心应用程序添加图标。作者还介绍了在创建控制台应用程序时如何编辑projeto1.csproj文件来添加图标。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 如何利用 Myflash 解析 binlog ?
    本文主要介绍了对Myflash的测试,从准备测试环境到利用Myflash解析binl ... [详细]
author-avatar
记录生活传奇_909_874
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有