Progruard và R8 không được dùng nữa - Android Studio 3.6


9

Tôi nhận được cảnh báo không tán thành liên quan đến Proguard cũng như R8 sau khi nâng cấp Android Studio của tôi lên 3.6. Điều đó có nghĩa là chúng ta không nên sử dụng obfuscation trong các dự án của mình hay có một tùy chọn tương đương khác mà chúng ta nên xem xét khi xây dựng ở chế độ phát hành?

Tùy chọn 'android.enableR8' không được dùng nữa và không nên sử dụng nữa. Nó sẽ bị xóa trong phiên bản tương lai của plugin Android Gradle và sẽ không còn cho phép bạn tắt R8. Mô-đun bị ảnh hưởng: vv


Bạn có thể vui lòng chia sẻ những thông điệp mà bạn đang nhận được không?
Anton Baranenko

Bạn có thể làm rõ những gì bạn có nghĩa là "cảnh báo không dùng nữa" trong bối cảnh này? Các văn bản thực tế của các cảnh báo có thể giúp đỡ.
Peter Tefft

Tôi không nhớ chính xác tin nhắn, nhưng nó nói nó bị phản đối. Lưu ý bên lề: Tôi đã nhận được nó sau khi nâng cấp lên Android Studio 3.6
Phiên bản

Để có câu trả lời, bạn nên đăng thông báo cảnh báo đầy đủ, chính xác . Ví dụ: useProGuardcài đặt đã bị từ chối cách đây một thời gian - có thể đó là những gì bạn đã thấy và bạn đang đánh giá sai nó.
Michael

Tôi đã chuyển sang R8 tuần này và xóa tất cả useProGuardkhỏi lớp của tôi
Rixment

Câu trả lời:


7

Điều đó có nghĩa là chúng ta không nên sử dụng obfuscation trong các dự án của mình

Không. Bạn có thể sử dụng công cụ obfuscation và tối ưu hóa.

Có một tùy chọn tương đương khác mà chúng ta nên xem xét khi xây dựng trong chế độ phát hành

Nếu bạn có android.enableR8 = truetrong bạn gradle.properties, loại bỏ nó như R8 nó trở thành công cụ mặc định và android.enableR8thiết lập bản thân bị phản đối, gây ra những cảnh báo không dùng nữa.

Nếu bạn có android.enableR8 = false sử dụng proguard để tối ưu hóa và che giấu, thay vào đó hãy xem xét chuyển sang R8.


Làm thế nào để làm cho dự án obfuscate? Tôi đã xóa tất cả các thuộc tính đã cho và nói để loại bỏ sự phụ thuộc của R8 khỏi build.gradle và tôi không thể biên dịch dự án nữa, tôi nhận được R8NullPulumException đó là gì?
Lena Bru

Trông giống như một cái gì đó vượt quá phạm vi của phần bình luận ở đây.
laalto

@laalto Điều tôi nhận được từ câu trả lời của bạn là R8 sẽ hoạt động tự động nên không cần thêm android.enableR8 = true, phải không?
Mohamed

@Mohamed Đó cũng là sự hiểu biết của tôi, miễn là bạn có plugin Android Gradle 3.6 trở lên.
laalto
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.