Gặp lỗi nói - Tên mục nhập 'res / layout / test_toolbar.xml' đã va chạm với nhau trong khi tạo apk đã ký


17

Tôi đã cập nhật studio android của mình từ 3.5.x lên 3.6 hôm nay và gặp lỗi trong khi tạo apk đã ký cho biến thể xây dựng hiển thị thông báo sau - Tên mục nhập 'res / layout / test_toolbar.xml' đã va chạm Tôi không có bố cục nào có tên như thế này một trong toàn bộ dự án Tôi có biến thể xây dựng tùy chỉnh có tên là " giai đoạn " và bất cứ khi nào tôi cố gắng xây dựng apk đã ký, nó luôn bị lỗi. Tôi đếm tìm bất kỳ giải pháp nào. Xin hãy giúp tôi với vấn đề này. Cảm ơn

Cập nhật: Vấn đề tương tự cũng có thể xảy ra với các thông báo sau (Như tôi đã tìm thấy trong AS - 3.6.1 ). Vì vậy, đừng lo lắng về những loại tin nhắn không xác định và không thể giải quyết. Cho đến nay tôi đã tìm thấy hai loại tin nhắn mới trong khi tạo apk đã ký:

  • Entry name 'kotlin/collections/MapWithDefault.kotlin_metadata' collided
  • Access Denied

Giải pháp là như nhau. Đôi khi bạn có thể cần Invalidate Cache and RestartAS của bạn cho điều này. Hãy cho tôi biết những phát hiện của bạn. Cảm ơn

Câu trả lời:


16

Trước khi đọc giải pháp bên dưới, vui lòng đọc bản cập nhật của tôi từ ngày 01.04.2020, vấn đề sâu hơn và nó nằm trong mã của bạn .

Tôi đã gặp vấn đề tương tự sau bản cập nhật 3.6 này.

* Giải pháp nhanh là: *

  1. xóa dự ánFolder \ build
  2. xóa dự ánFolder \ gỡ lỗi *
  3. xóa dự ánFolder \ phát hành *
  4. xóa dự ánFolder \ app \ build
  5. xóa dự ánFolder \ app \ build \ debug *
  6. xóa dự ánFolder \ app \ build \ phát hành *

Vì vậy, bạn cần phải xóa tất cả các thư mục xây dựng, gỡ lỗi và phát hành.

Lưu ý rằng bạn có thể không thể xóa toàn bộ thư mục gỡ lỗi và phát hành , nhưng bạn có thể xóa tất cả nội dung của nó.

CẬP NHẬT:

Tôi nghĩ rằng họ đã sửa lỗi này ngày hôm nay: nhập mô tả hình ảnh ở đây

CẬP NHẬT 03.03.2020: Không may, lỗi không được sửa.

CẬP NHẬT 01.04.2020: (Không phải trò đùa ngày 1 tháng 4 :))

Từ tháng tôi đã làm việc với các nhà phát triển Android Studio và hôm nay tôi được yêu cầu sử dụng jdk thay vì sử dụng jre, vì một trong những lỗi sâu trong nhật ký đã nói điều đó.

Sau khi đặt jdk ( Tệp-> Cấu trúc dự án-> Vị trí SDK-> Vị trí JDK ) thay vì jre, tôi đã gặp một số lỗi khác không được hiển thị trong "đầu ra xây dựng", vì vậy tôi chạy Phân tích -> Kiểm tra mã và gặp lỗi EIGHTEEN chẳng hạn như tham chiếu id xem sai trong bố cục, lỗi có hướng (hi to tools:ignore="MissingDefaultResource") và lỗi trong bảng kê khai cũng có hướng: Tôi đọc rằng đây là một số cập nhật mới trong 3.6.1 - về phong cảnh hoặc chân dung screenOrientation, được sửa nhanh bởi Studio với điều này: <activity tools:ignore="LockedOrientationActivity" />

Khi tất cả các lỗi đã được sửa với Phân tích -> Mã kiểm tra, tôi đã tạo thành công APK có chữ ký bằng jdk và sau đó sử dụng jre (chỉ để kiểm tra).

Vì vậy, tóm lại, lỗi này gây ra do lỗi sâu mà bạn chỉ có thể tìm ra với Inspect Codecông cụ.

Tôi nghĩ rằng AS sẽ không nghĩ rằng đây là một lỗi, tôi nghĩ họ sẽ nói rằng đây là một tính năng mới để cải thiện mã của bạn. Ngoài ra tôi nghĩ bạn nên cố gắng kiểm tra mã của mình ngay cả khi không đặt jdk thay vì jre.

Khuyến nghị bổ sung từ hỗ trợ AS:

BTW khi xuất bản releasedựng, chúng tôi cũng chạy lintVitalmột số kiểm tra bổ sung và có một số lỗi được đánh dấu là fatal. Kiểm tra này là đắt tiền vì vậy nó không xảy ra trong các debugbản dựng


1
Cảm ơn rất nhiều. Tôi đã giải quyết nó rồi. Bạn có chắc đây là phiên bản ổn định (thực sự)?
Saadat

1
@Saadat không, tôi đã kiểm tra ngay bây giờ - lỗi vẫn còn đó.
danyapd

Cảm ơn bạn rất nhiều. Tôi sẽ cập nhật một lần nữa mong đợi sửa chữa. @danyapd
Saadat

Tôi thấy rằng tôi phải xóa projectFolder\app\[all flavor folders]quá.
drmrbrewer

1
Cảm ơn, đã Build > Rebuild Projectsửa nó cho tôi, trong Android Studio 3.6.2.
gregn3

7

Trong khi tạo apk, hãy kiểm tra thư mục đích, từ đó xóa output.json và app-debug.apk khỏi thư mục gỡ lỗi. Hãy thử xây dựng tương tự sau này. AFAIK, đó là một lỗi cho studio android, hy vọng họ có thể khắc phục điều này sớm :)


1
Cám ơn phản hồi của bạn. Tôi đã làm như vậy và giải quyết vấn đề của tôi. :)
Saadat

1
Cảm ơn rất nhiều!! tìm thấy điều này sau 2,5 giờ đấu tranh
Kishita Variya

Cảm ơn vì điều này, đã làm việc như một cơ duyên
Brian

4

Tôi đã xóa các đầu ra bản dựng trước cho biến thể xây dựng, bao gồm tệp APK. Đó là những gì đã giúp tôi


1
Tôi đã cố gắng xóa buildtoàn bộ thư mục, vẫn gặp vấn đề tương tự. Bạn có thể giải thích những gì bạn đã làm đầy đủ?
Pusparaj

Bạn có xóa thư mục xây dựng trong thư mục gốc của dự án và thư mục ứng dụng / xây dựng không? Trong dự án, đường dẫn đầu ra apk của tôi bị thay đổi và tôi chỉ cần xóa tệp apk trước đó, nơi nó được đặt.
Vladislav Vatrushkin

1

Nó xảy ra khi bạn sử dụng tính năng tự động viewBinding, Binding sử dụng tính năng Kotlin hoặc viewBinding của 3.6.

Trong trường hợp, bạn đang thêm các tệp có thành phần chia sẻ cùng id, ViewBinding gây nhầm lẫn và tạo ra lỗi đó.

Hãy để tôi giúp bạn bằng ví dụ lớp Adaptor có hai tệp bố cục được phân tách bằng cách xem Loại:

import kotlinx.android.synthetic.main.frag_subscription_recommend.view.*


override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
   return ViewHolder(
        LayoutInflater.from(parent.context).inflate(
            if (viewType == 1) {
                R.layout.frag_subscription_recommend
            } else
                R.layout.frag_subscription_common,
            parent,
            false
        )
    )
}

onBinding(){
  holder.itemView.id_button_submit.setOnClickListener {}
}

// trong trường hợp nhầm lẫn tài nguyên hoặc bố cục đầy đủ, yêu cầu bcoz cả hai đều có cùng id của nút. trong trường hợp bạn phải sử dụng:

 onBinding(){
  holder.itemView.findViewById<Button>(R.id.id_button_submit).setOnClickListener {}
}

cho phép thực hiện cũ.

Hãy cho tôi biết nếu điều này làm việc về phía bạn?


1
Xin lỗi, nhưng vấn đề là với các thư mục xây dựng, gỡ lỗi và phát hành. bao gồm tập tin json đầu ra. Dù sao, cảm ơn vì câu trả lời của bạn
Saadat

1

Tôi đã gặp lỗi tương tự sau khi cập nhật android studio và tôi đã khắc phục sự cố bằng cách chỉ làm sạch dự án (Build> Clean Project)! :)

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.