2012-02-20 27 views
5

Ứng dụng Android của tôi là OpenSource và tôi hơi ngại chia sẻ mã trên Github, vì các khóa API của tôi cũng được chia sẻ.Tôi làm cách nào để ẩn Khóa API Google Maps khi chia sẻ mã trên github?

Tôi có thể git bỏ qua tệp strings.xml của mình, nhưng tôi thực sự hy vọng có một giải pháp thay thế và tôi có thể làm điều gì đó thông minh, vì vậy tôi sẽ không phải lo lắng về điều đó.

Bất kỳ ý tưởng hoặc đề xuất nào?

+1

Tại sao một 'git ignore'" không thông minh "? – vcsjones

+0

Vì tôi không thể chia sẻ tệp string.xml tiếng Anh mặc định của mình cho người dịch tiềm năng của mình ... –

Trả lời

3

Tùy chỉnh kịch bản xây dựng kiến ​​của dự án của bạn để tạo ra một mapkey.xml (chuỗi) từ local.properties (mà bạn thêm vào git ignore). Những người ngã ba vừa tạo ra các sản phẩm địa phương của riêng họ bằng cách gỡ lỗi và nhả phím cho Google Maps.

3

Đặt khóa vào một tệp riêng biệt và đọc tệp đó từ đó và chỉ cam kết tệp giữ chỗ vào kho lưu trữ.

+2

Nội dung văn bản sẽ là một nơi tốt cho điều đó. Bạn có thể kiểm tra xem nội dung có tồn tại hay không, vì vậy bạn thậm chí không phải đặt một tệp giữ chỗ: nếu nó không tồn tại, hãy đặt một số cờ và hiển thị thông báo cảnh báo khi họ chạy ứng dụng lần đầu tiên. –

+0

Tôi thích ý tưởng đó. – kindall

+0

Tôi đã hỏi điều này gần 2 năm trước: Làm cách nào để tôi có thể đặt Map API theo lập trình? http://stackoverflow.com/questions/3517833/mapactivity-set-apikey-programmatically –

-1

Nếu chương trình yêu cầu strings.xml, thì phải bao gồm trong nguồn, nhưng các chuỗi cụ thể cho từng người dùng nguồn sẽ bị bỏ qua. Ở vị trí của họ, cung cấp tài liệu về nơi các chuỗi cụ thể nên được bao gồm.

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