2012-10-29 43 views
5

Tôi đang sử dụng IntelliJ IDea 11.1.3 để phát triển Android và tôi phải thừa nhận đó là một công cụ tuyệt vời. Tôi có vài nghi ngờ về cách sử dụng Proguard với IDE.Cách Proguard hoạt động trong Intellij Idea?

Tôi đã tìm thấy tùy chọn Run Progaurd dưới Open Cài đặt Module -> khía cạnh như trong hình dưới đây

enter image description here

Run Proguard cần một vị trí của Config file được cài đặt sẵn để Proguard -project.txt. Tiếp theo là hộp kiểm có nội dung là Bao gồm tệp bảo vệ hệ thống.

Điều gì System Proguard Tệp được đề cập trong tùy chọn hộp kiểm này?

Cho tất cả cấu hình của Proguard là trong proguard-android.txt trong Android SDK. Cấu hình proguard hoạt động như thế nào trong IntelliJ Idea?

P.S Mọi trợ giúp sẽ được đánh giá cao Tôi cố gắng hiểu proguard với IntelliJ trong gần một ngày nay và gặp sự cố chưa được giải quyết trong another question.

Trả lời

7

Sau khi trải qua hai ngày cố gắng làm việc Proguard 4.7 với IntelliJ Idea, tôi có điểm sau đây để kết luận

  1. Nó không thực hiện bất kỳ sự khác biệt nếu bạn bỏ ghi chú dòng proguard.config=${sdk.dir}\tools\proguard\proguard-android.txt:proguard-project.txt trong tập tin project.properties.
  2. Tôi không chắc chắn nếu IntelliJ đọc proguard-android.txt tập tin nằm ở android-sdk/tools/proguard
  3. IntelliJ ý tưởng đọc file proguard-project.txt file nằm trong dự án nên đề nghị là chỉnh sửa và đặt tất cả các cấu hình Proguard của bạn trong tập tin này.
  4. Tôi vẫn chưa rõ tùy chọn hộp kiểm Include system proguard file làm gì.
+0

Nhưng bạn có làm cho nó hoạt động không? –

+1

@MathiasLykkegaardLorenzen Có, tôi đã làm việc theo cách tôi đã nêu chi tiết trong câu trả lời. –

+0

Vậy tôi lấy các tệp đó ở đâu hoặc cách tạo các tệp hợp lệ? –

0

Theo tài liệu google này http://developer.android.com/tools/help/proguard.html#enabling-gradle bạn cần thay đổi minifyEnabled false thành minifyEnabled true trong tệp build.gradle của dự án.

...\app\proguard-rules.pro có thể được chỉnh sửa để thêm quy tắc mới nếu bạn cần chúng. Các quy tắc mặc định có thể sẽ làm tất cả những gì bạn cần, chẳng hạn như bảo vệ tên của các phương thức trông giống như chúng có thể được gọi vì thuộc tính xml onClick bố cục. Tài liệu được trích dẫn ở trên cũng chứa hướng dẫn về các thay đổi phức tạp hơn.

Bạn cần phải giữ tệp mapping.txt, có thể được tìm thấy dưới ...\app\build\outputs\mapping\release

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