2015-09-21 15 views
11

Do sự cố xây dựng ứng dụng của tôi ở chế độ phát hành với plugin gradus 1.3.0, tôi đã chuyển sang 1.4.0 (beta 2). vấn đề.Không thể lọc nội dung cho nhiều mật độ bằng cách sử dụng công cụ xây dựng SDK 21 hoặc mới hơn

Tuy nhiên, trong khi một số hương vị xây dựng một cách hoàn hảo, những người khác có xây dựng của họ bị hủy bỏ với thông báo lỗi sau:

không thể lọc tài sản cho nhiều mật độ sử dụng SDK xây dựng các công cụ 21 hoặc cao hơn. Thay vào đó, hãy xem xét sử dụng chia tách apk.

Tôi không tìm thấy bất kỳ tham chiếu nào đến câu trên, tôi nên làm gì với các tài nguyên của những hương vị này hoặc thậm chí lý do lỗi này chỉ xuất hiện trong một vài hương vị chứ không phải trong tất cả chúng.

Edit: build.gradle

apply plugin: 'com.android.application' 

android { 
    signingConfigs { 
     config { 
     } 
    } 
    compileSdkVersion 23 
    buildToolsVersion "23.0.1" 
    defaultConfig { 
     applicationId "com.example.appname" 
     minSdkVersion 8 
     targetSdkVersion 23 
     versionCode 1 
     versionName '0.0.1' 
    } 
    buildTypes { 
     release { 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      minifyEnabled true 
      zipAlignEnabled true 
      signingConfig signingConfigs.config 
     } 
     debug { 
      applicationIdSuffix 'debug' 
      versionNameSuffix '_debug' 
     } 
    } 
    flavorDimensions "googleplay" 
    productFlavors { 
     noplay { 
      dimension "googleplay" 
      versionCode Integer.parseInt(defaultConfig.versionCode + "0") 
      buildConfigField "boolean", "HAS_GOOGLE_PLAY", "false" 

      resConfigs "ldpi", "mdpi" 
      // so far we are using the noplay flavor only for old devices, which do not have hidpi 
     } 
     play { 
      dimension "googleplay" 
      versionCode Integer.parseInt(defaultConfig.versionCode + "1") 
      buildConfigField "boolean", "HAS_GOOGLE_PLAY", "true" 
      minSdkVersion 9 
     } 
    } 
} 

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

    // Google Play services (analytics) 
    playCompile 'com.google.android.gms:play-services-analytics:8.1.0' 

    // ActionBar and support libraries 
    compile 'com.android.support:appcompat-v7:23.0.1' 
    compile 'com.android.support:support-v4:23.0.1' 
} 
+0

Đăng build.gradle của bạn (đừng quên xóa tùy chọn ký). –

+1

Xong; cảm ơn vì đã dành thời gian cho tôi. –

+0

Biến thể nào không thành công? Nó luôn luôn giống nhau không? – stkent

Trả lời

11

resConfigs được thay thế bằng APK splits cho mật độ và kiến ​​trúc. Lưu ý những điều sau sentence:

Khi sử dụng công cụ xây dựng lớn hơn 21 bạn cũng có thể thêm resConfigs "nodpi", "hdpi" cũng để hạn chế các thư mục mật độ được đóng gói. Thay vào đó, hãy sử dụng phân tách apk để cung cấp các apks khác nhau cho các thiết bị có mật độ khác nhau với .

bug report for this issue.

Các cấu hình lại vi phạm phải được loại bỏ và các phân tách apk có thể được sử dụng thay vào đó.

Ngoài ra, việc chuyển sang công cụ xây dựng 20.0.0 dường như hoạt động xung quanh vấn đề này.

+0

Cảm ơn con trỏ. Thông tin thêm về phân chia apk: http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits và http://geeks.everything.me/2015/06/10/ take-the-ks-off-của bạn-apks-part-1/ –

+0

OMG - đã được tìm kiếm trên tất cả các bằng chứng cho rằng gây ra chia tách ngừng làm việc đột ngột! Tuyệt vời không có cảnh báo hoặc thông báo khác do điều này ... – slott

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