Android Studio 3.1.X中導入項目的正確方法分享
前言
最近在使用Android Studio 3.1.2導入以前的項目遇到一些坑,借此機會把相關(guān)處理方法分享出來。
下面以導入Android Studio2.3.3項目為例:
在此之前先建議你用Android Studio 3.1.2創(chuàng)建一個新的項目,看看有哪些變化,這對你很有幫助。
修改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"
修改依賴關(guān)鍵字 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后出現(xiàn)AAPT2和“android.enableAapt2”問題以有解決方法
如果有這個錯誤:這需要更新SDK,點擊藍色文字下載就好。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Android 中基于TabLayout+ViewPager實現(xiàn)標簽卡效果
這篇文章主要介紹了Android 中基于TabLayout+ViewPager實現(xiàn)標簽卡效果,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-12-12
Android系統(tǒng)的五種數(shù)據(jù)存儲形式實例(二)
Android系統(tǒng)有五種數(shù)據(jù)存儲形式,分別是文件存儲、SP存儲、數(shù)據(jù)庫存儲、contentprovider 內(nèi)容提供者、網(wǎng)絡(luò)存儲。本文介紹了Android系統(tǒng)的五種數(shù)據(jù)存儲形式,有興趣的可以了解一下。2016-12-12
Android屏幕旋轉(zhuǎn)之橫屏豎屏切換的實現(xiàn)
這篇文章主要介紹了Android屏幕旋轉(zhuǎn)之橫屏豎屏切換的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10
Android一步步帶你在RecyclerView上面實現(xiàn)"拖放"和"滑動刪除"功能
這篇文章主要介紹了Android一步步帶你在RecyclerView上面實現(xiàn)"拖放"和"滑動刪除"功能,需非常不錯,具有參考借鑒價值,需要的朋友參考下2017-03-03
Android網(wǎng)絡(luò)編程之簡易新聞客戶端
這篇文章主要為大家詳細介紹了Android網(wǎng)絡(luò)編程之簡易新聞客戶端的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05

