当前位置: 首页 > 编程笔记 >

Android Studio 3.1.X中导入项目的正确方法分享

吴同
2023-03-14
本文向大家介绍Android Studio 3.1.X中导入项目的正确方法分享,包括了Android Studio 3.1.X中导入项目的正确方法分享的使用技巧和注意事项,需要的朋友参考一下

前言

最近在使用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

修改前:

<code class="language-html">// 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 
}</code> 

修改后:

// 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)。我为什么建议你把上面的都改好之后再同步,这样省事儿,刚开始的时候我也是改一点同步一下,问题多且很浪费时间,如果其中有些问题没能解决就容易走偏。

如果报错:

<code class="language-html">Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details 
</code> 

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

android.enableAapt2=false

添加android.enableAapt2=false报如下错误请移步Android Studio 3.0后出现AAPT2和“android.enableAapt2”问题以有解决方法

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

 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对小牛知识库的支持。

 类似资料:
  • 我正在对一个半大型项目进行重组,我不确定最好的方法。我无法决定在哪里使用我的#导入 如果不清楚,请告诉我,我会尽量重申。

  • 抱歉,我对eclipse和java servlets真的很陌生。我看过这个问题Eclipse可以导入一个Maven Web项目作为“动态Web应用”吗?,这对我真的很有帮助。 我已经更改了项目方面(但是动态Web模块版本存在一些问题,我已将其更改为2.5),现在我可以使用“在服务器上运行”选项。我使用雄猫6。 但是我的web.xml位置有一些问题,在我导入的项目中< code>web.xml文件在

  • 问题内容: 我知道有很多类似或相同的问题,但是我仍然无法理解/找到正确的方法来使用模块。Python是我最喜欢的语言,除使用导入外,我喜欢其中的所有内容:递归导入(当您尝试引用尚不存在的名称时),导入路径等。 因此,我有这种项目结构: 可以用作独立单位,但也应由导入。我现在在做什么,例如,在我编写中,即使用导入模块的完整路径。我这样做是因为,如果我使用-当从另一个包()中导入该模块时,它将不起作用

  • 本文向大家介绍IDEA导入Git项目的方法,包括了IDEA导入Git项目的方法的使用技巧和注意事项,需要的朋友参考一下 导入Git项目 新建项目 File–>New–>Project from Version Control–>Git 从Git 导入 在URL处输入Git地址(不会找的往下看) 查看Git项目地址 码云 点击克隆 选择复制 GitHub 点击Code 点击复制 到此这篇关于IDEA

  • 首先,我在netbeans中创建java项目,我想将netbeans中的java项目导入到eclipse kepler中的maven项目中,我尝试了一次,但是在eclipse kepler中编译时出错,但是如果在eclipse kepler中导入java项目并进行编译,就可以了。

  • 问题内容: 我一直在尝试对导入的某些数据使用mongo,但是我无法在我的文档描述中正确使用它。 这是我使用mongoimport导入的.json的示例:https ://gist.github.com/2917854 我注意到,尽管为每个商店都创建了一个对象,但所有文档仍被导入到一个唯一的对象中。 这就是为什么当我尝试寻找商店或任何我想查询的东西时,所有文档都被退回的原因。 我希望能够查询数据库以

  • 本文向大家介绍Android Studio 导入开源项目的正确姿势及注意事项,包括了Android Studio 导入开源项目的正确姿势及注意事项的使用技巧和注意事项,需要的朋友参考一下 报错:Error:(2, 0) Plugin with id 'realm-android' not found. 注意:项目中用到的插件,需要根目录下的build.gradle中添加它classPath, 执行

  • 我似乎无法导入任何添加的依赖项。在下面的代码(pom.xml)中,我们看到了可以工作的JavaFX依赖项,以及我自己添加但不工作的MongoDB依赖项。 工作的JavaFX语句: 这些不起作用。 当给出错误时:包'org.bson'在模块'org.mongodb.bson'中声明,但是模块'com.jonathan.woollettlight'没有读取它。并且给出 我的文件结构: 扩展了Mongo