2015-12-04 36 views
5

Do một số vấn đề với quyền trong SDK API 23 (Marshmallow) Tôi muốn chuyển về API 21, nhưng tôi đang gặp phải một số vấn đề ... Tôi đã đọc rất nhiều bài viết với các vấn đề tương tự và đã cố gắng (gần như tôi đoán) mọi thứ: Tôi đã cập nhật tất cả các công cụ SDK Build/Platform, các tính năng cho API 21, Thư viện Suport và Repository. Sau đó, tôi đã dọn dẹp dự án, xây dựng lại và đồng bộ hóa. Tuy nhiên, tôi nhận được những lỗi: enter image description hereHạ cấp SDK Android (api 23 -> api 21)

build.gradle tôi trông giống như sau:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 
    defaultConfig { 
     applicationId "com.example.pablo.appcontacts" 
     minSdkVersion 19 
     targetSdkVersion 21 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    productFlavors { 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    testCompile 'junit:junit:4.12' 
    compile 'com.jakewharton:butterknife:7.0.1' 
    compile 'com.android.support:appcompat-v7:23.1.1' 
} 

Tôi không phải là rất quen thuộc với điều này, bất cứ ai có thể giúp tôi để sửa chữa nguyên nhân này, tôi thực sự có thể 't tìm cách để ..?

+3

"Do một số vấn đề với các điều khoản trong SDK API 23 (Marshmallow) Tôi muốn chuyển về API 21 "- điều đó sẽ không giải quyết được bất kỳ vấn đề nào của bạn. 'CompileSdkVersion', thư viện, v.v. không liên quan gì đến [các vấn đề về quyền thời gian chạy mà bạn gặp phải] (https://stackoverflow.com/questions/34095129/android-frustrating-permissions). 'targetSdkVersion', nhưng bạn không phải thay đổi bất kỳ thứ gì khác trong ứng dụng của bạn để giảm' targetSdkVersion' thành 22 hoặc cái gì đó. – CommonsWare

+0

@CommonsWare Ok, cảm ơn bạn, tôi không biết điều đó. –

+2

Để biết thêm thông tin, hãy xem [bài đăng trên blog của chúng tôi về compileSdkVersion vs targetSdkVersion] (https://medium.com/google-developers/picking-your-compilesdkversion-minsdkversion-targetsdkversion-a098a0341ebd) – ianhanniballake

Trả lời

4

3 bước:

1 Sửa build.grade

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.1" 

    defaultConfig { 
     applicationId "com.stackoverflow.answer" 
     minSdkVersion 16 
     targetSdkVersion 21 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 

dependencies { 
    androidTestCompile 'junit:junit:4.12' 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
} 

2 Sync nút gradle

3 Rebuild dự án

+1

Thật tuyệt, nhưng tôi nghĩ không hoàn toàn chính xác . Tôi cũng cần thêm các dòng vào hỗ trợ kho lưu trữ trong các phụ thuộc, nếu không tôi đã nhận được một số lỗi về các tài nguyên bị thiếu trong 'styles.xml'. –

+0

Nhưng thay đổi đó @ PawełPoręba phụ thuộc vào phiên bản Android, mỗi phiên bản có các tùy chọn khác nhau. – josedlujan

Các vấn đề liên quan