Đây là một câu hỏi rất cũ, nhưng nó vẫn xảy ra rất nhiều và không có câu trả lời thực sự toàn diện ở đây.
Tôi đã có vấn đề này nhiều lần hơn tôi muốn thừa nhận. Nó có thể được gây ra bởi một loạt các vấn đề mà hầu hết tất cả phải làm với cấu trúc dự án của bạn không phù hợp với những gì mong đợi. Đây là danh sách tất cả các vấn đề tôi gặp phải:
Nhập từ Eclipse vào Android Studio không phải lúc nào cũng hoạt động trơn tru, đặc biệt là với các phiên bản Android Studio cũ hơn. Hãy chắc chắn rằng bạn đang sử dụng cây thư mục chính xác. Nó sẽ trông như thế này cho một ứng dụng trưởng thành vừa phải:
AppName/ // AppName is your app's name, obviously
.gradle/ // This is a compiler created directory. You should normally leave it alone
.idea/ // Ditto
build/ // This too
gradle/ // And this
app/
build/
libs/
src/
androidTest/ // Tests based on the Android instrumentation runner should go here
main/
java/
fully/ // Typically com
qualified/ // the domain name. Longer package
// names may have deeper folder trees
AppName/ // All your java files go here
res/
drawable-*/ // One of these for each resolution you support
layout/ // All of your general layouts
menu/ // All of your menu layouts
values/ // All of your resource xml files
xml/ // PreferenceScreen layouts go here
AndroidManifest.xml
debug/
test/ // Pure jUnit tests should go here
.gitignore
app.iml
build.gradle // This is the gradle file you should be making most changes to
proguard-rules.pro
.gitignore
build.gradle // This gradle file should mostly be left alone
gradle.properties
gradlew
local.properties
AppName.iml
settings.gradle
Nó có thể không giống như thế này trong IDE của bạn. Có một trình đơn thả xuống phía trên cây tệp hiển thị các tệp của bạn theo các cách khác nhau và nó mặc định trên hệ thống của tôi với một Android được gọi là chia các tệp của bạn thành các loại khác nhau. Việc khắc phục loại sự cố này dễ dàng hơn từ một vấn đề được gọi là Dự án và thậm chí dễ dàng hơn trực tiếp từ hệ thống tệp của hệ điều hành của bạn, vì Android Studio thu gọn các thư mục chỉ chứa một thư mục khác trên một dòng.
Đặc biệt nếu bạn từng thay đổi tên ứng dụng của mình, bạn cần đảm bảo rằng cây nguồn chính / java / com / domain / AppName được cập nhật. Đồng thời, đảm bảo rằng thẻ gói trong AndroidManifest.xml của bạn là chính xác.
Nếu có lỗi trong các tệp Gradle hoặc AndroidManifest.xml của bạn, điều này sẽ ngăn Android Studio xây dựng đúng các tệp tài nguyên của bạn. Các tập tin lớp có thể bị phá vỡ bằng cách nâng cấp Android Studio đôi khi, đặc biệt là từ các phiên bản trước 1.0. Đôi khi điều này là do nó ngừng hỗ trợ các phiên bản cũ hơn của plugin Gradle, vì vậy bạn cần cập nhật số phiên bản của mình. Đôi khi có thể khó tìm thấy các phiên bản hiện tại là gì. Kể từ hôm nay, 17/07/15, các ứng dụng của tôi đang được biên dịch tốt vớicom.android.tools.build:gradle:1.2.3
. Đây là trong khối phụ thuộc trong tệp lớp ngoài cùng,
Nếu AndroidManifest của bạn tham chiếu tài nguyên hoặc hoạt động chuỗi không tồn tại hoặc chuỗi không tồn tại, nó sẽ bị hỏng và gây ra lỗi này. Đôi khi nếu bất cứ điều gì tham chiếu tài nguyên chuỗi hoặc chuỗi không tồn tại, bạn sẽ gặp lỗi này.
Nếu bạn có một tệp trong tài nguyên bị hỏng hoặc tệp xml không hợp lệ, bạn sẽ gặp lỗi này.
Theo kinh nghiệm của tôi, đôi khi Android Studio chỉ bị trục trặc mà không có lý do và bạn cần khởi động lại nó và / hoặc PC của bạn. Tôi không biết tại sao, nhưng đôi khi nó hoạt động.
Nếu bạn có hai tài nguyên xml có cùng tên, trong các thư mục không ghi đè lên nhau, bạn có thể gặp sự cố này. Chẳng hạn, bạn có thể có cùng tên trong drawable-mhdpi và drawable-xhdpi vì chúng ghi đè lên nhau tùy thuộc vào thiết bị đích, nhưng nếu bạn có cùng tên trong bố cục và trong menu, điều đó sẽ gây ra sự cố. Đổi tên hoặc xóa một trong các tệp.
Nếu chỉ có một số tài nguyên gặp vấn đề này, những tài nguyên đó rất có thể nằm trong thư mục sai.
Trong một trường hợp, tôi đã phải cài đặt lại hoàn toàn Android Studio. Tôi không biết những gì đã sai, nhưng nó đã làm việc.
Trong một trường hợp, tôi đã chuyển toàn bộ dự án của mình sang một thư mục khác và nhập lại nó dưới dạng một dự án mới. Tôi không biết những gì đã sai, nhưng nó đã làm việc.
Các tệp Xml với các từ dành riêng cho tên có thể gây ra vấn đề này. Đổi tên hoặc xóa chúng.
Có một số cách mà tệp Gradle của bạn có thể kết thúc bằng cách tham chiếu một phiên bản của các công cụ xây dựng mà bạn chưa cài đặt. Sửa lỗi này bằng cách thay đổi Gradle hoặc tải xuống các công cụ xây dựng phù hợp.
Cuối cùng, sau khi bạn sửa bất cứ điều gì sai, bạn cần làm sạch dự án Gradle của mình. Bạn làm điều này bằng cách vào menu Build ở trên cùng và chọn Clean Project.