2014-12-18 19 views
7

Tôi đang cố gắng xây dựng một ứng dụng Android bằng scala và android studio. Các biên dịch không thành công ở Proguard với một ngoại lệ:làm thế nào để hạ cấp phiên bản proguard trong gradle studio android?

Error:java.lang.ArrayIndexOutOfBoundsException: 4 
    at proguard.classfile.editor.InterfaceDeleter.visitSignatureAttribute(InterfaceDeleter.java:162) 
    at proguard.classfile.attribute.SignatureAttribute.accept(SignatureAttribute.java:97) 

tôi tìm thấy ở một nơi khác (http://sourceforge.net/p/proguard/bugs/549/) rằng vấn đề này là do một lỗi trong scala, nhưng nó chỉ xảy ra ở Proguard 5.1 và không có trong Proguard 5.0.

Bây giờ câu hỏi của tôi là: làm thế nào tôi có thể thiết lập studio android để nó sẽ sử dụng proguard 5.0?

Trả lời

6

Tìm thấy nó!

Bí quyết là loại trừ trình bảo vệ 5.1 trong tệp dựng sẵn thành công và thêm phụ thuộc vào 5.0 thay thế.

Đây là tệp xây dựng toplevel của tôi:

// Top-level build file where you can add configuration options common to all sub-projects/modules. 
buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath ('com.android.tools.build:gradle:1.0.0') { 
      exclude module: 'proguard-gradle' 
     } 
     classpath "jp.leafytree.gradle:gradle-android-scala-plugin:1.3.1" 
     classpath ('net.sf.proguard:proguard-gradle:5.0') { 
      force = true 
     } 

    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 
Các vấn đề liên quan