2015-02-23 29 views
8

Tôi gặp vấn đề với việc xây dựng Android gradle. Dài câu chuyện ngắn, tôi đã tạo ra 2 hương vị:Tệp hương vị và tài nguyên Android

productFlavors{ 
     abcDemoFree{ 
     } 

     abcDemo{ 
     } 
} 

Eeach có hoạt động riêng (Settings.java) và bố trí (settings_layout.xml) cho hoạt động này. Từ cả hai tệp chính đã bị xóa, vì vậy Settings.java và settings_layout.xml chỉ tồn tại trong các hương vị.

abcDemoFree 
    - java 
     - Settings.java 
    - res 
     - settings_layout.xml 

abcDemo 
    - java 
     - Settings.java 
    - res 
     - settings_layout.xml 

Android Studio tạo 4 xây dựng phiên bản:

abcDemoFreeDebug 
abcDemoFreeRelease 
abcDemoDebug 
abcDemoRelease 

Tất cả mọi thứ làm việc tốt đẹp, tôi có thể tạo apk với hành vi Tôi đang mong đợi từ mỗi hương vị. Vấn đề là khi tôi chuyển sang một buildVariant, ví dụ để abcDemoDebug, studio android báo cáo lỗi từ tập tin nguồn lực trong hương vị khác, trong ví dụ của tôi từ abcDemoFreeDegub/res/settings_layout.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:app="http://schemas.android.com/apk/res-auto" 
       xmlns:tools="http://schemas.android.com/tools" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:orientation="vertical" 

</LinearLayout> 

Những dòng

xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 

tạo lỗi: URI chưa được đăng ký.

Làm cách nào để loại bỏ các lỗi này? Hoặc có lẽ đây là hành vi bình thường?

Trả lời

0

Thật không may AndroidStudio sử dụng tài nguyên từ sai vị trí khi bạn chuyển đổi. Bạn phải làm sạch và sau đó xây dựng sau khi chuyển đổi các biến thể để có được những lỗi này để biến mất.

0

Lỗi xảy ra nếu bạn không thực sự chuyển đổi phiên bản xây dựng. Nếu bạn chỉ cần nhìn vào tập tin nó sẽ hiển thị các lỗi, nhưng nếu bạn thực sự chuyển đổi cấu hình xây dựng và xây dựng lại, bạn sẽ được sử dụng tốt. Cũng xác nhận rằng bạn đã không làm thực hiện cụ thể hoặc Soạn cho hương vị như:

myFlavorImplementation android.libraries.forexample

như sau đó nó sẽ bị mất các thư viện cần thiết để dọn dẹp các cảnh báo.

enter image description here

Sử dụng xây dựng biến thể trượt ra để thay đổi debug khác xây dựng và nó sẽ tự động xây dựng lại, nhưng nếu không, chỉ cần làm một xây dựng lại chính mình. Ngoài ra, hãy đảm bảo bạn đang xem các tệp thực và không phải tệp được tạo đôi khi nếu bạn đang sử dụng công cụ chú thích hoặc ràng buộc dữ liệu với trình bao bọc bố cục và bạn có thẻ android trong bố cục và thẻ con đầu tiên. cũng như tạo ra tệp bố cục cuối cùng để được đóng gói.

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