2014-07-22 38 views
6

Điều này nghe có vẻ cực kỳ nhỏ nhưng với tư cách là một newbie android, tôi chỉ thấy mình bị chôn vùi dưới một tấn băm mã khóa và keytools có thể hơi áp đảo.Android Studio - Chạy apk đã ký trên trình giả lập

Tôi cố gắng để làm cho phòng thu android chạy ứng dụng của tôi trên giả lập ký kết với keystore tùy chỉnh của tôi và không phải là debug.keystore

Đây có phải là một lựa chọn, hoặc để tôi chỉ cần có để tạo ra một ký .apk mỗi lần Tôi thực hiện thay đổi, sau đó cài đặt nó qua adb và sau đó chạy nó từ trình đơn của thiết bị mô phỏng?

Ngoài ra, thực hành tốt khi thử nghiệm ứng dụng hoặc tôi có nên tránh không?

+0

Tại sao bạn muốn xây dựng bằng kho khóa tùy chỉnh? –

+0

@ScottBarta ứng dụng của tôi sử dụng đăng nhập facebook vì vậy tôi cần phải đăng ký một băm khóa hợp lệ với họ, vì vậy tôi muốn sử dụng một trong những tôi dự định phát hành khi nó đã sẵn sàng – ppp

+0

Tôi không quen với việc viết ứng dụng Facebook API, vì vậy Tôi không thể bình luận về việc đây có phải là điều đúng đắn hay không. Nhưng tôi đã trả lời câu hỏi của bạn dưới đây. –

Trả lời

14

Bạn chỉ có thể thêm cấu hình ký vào loại bản dựng gỡ lỗi và nó sẽ sử dụng cấu hình này. Bạn có thể thực hiện thông qua hộp thoại Cấu trúc dự án - trong mô-đun của bạn, chọn tab "Ký" và định cấu hình thông tin đăng nhập của bạn, sau đó trong tab "Loại xây dựng", cho cửa sổ bật lên "Đăng nhập cấu hình", chọn nó.

+0

Thay đổi các cài đặt đó (Android Studio 0.8.2) và sau khi tôi lưu chúng, việc xây dựng gradle của tôi không thành công (debug - dấu hiệu đột nhiên bị trống trong cấu hình gradle), không thể thực sự ký. Sẽ cố gắng sửa chữa nó nhưng có vẻ như một ý tưởng tốt hơn để chỉnh sửa trực tiếp tệp gradle. – AgentKnopf

+1

Làm việc cho tôi Hoàn hảo –

+1

điều này sẽ là câu trả lời mong muốn cho OP, bấm vào 'chạy' bây giờ tạo ra một ứng dụng đã ký cho cả hai trình giả lập và thiết bị adb –

16

Sau khi gặp sự cố khi sử dụng giao diện người dùng Android Studio để tạo cấu hình ký, tôi đã quản lý thành công thiết lập nó thông qua tệp xây dựng gradle.

Mở tệp build.gradle của dự án của bạn. Nó nên chứa một cái gì đó như thế này:

android{ 
    //signingConfigs goes here 
    defaultConfig{ 
     //SDK version, version code etc 
    } 

    //Some more stuff 
} 

Nếu nó không phải là đã có trong đó, hãy thêm đoạn sau dưới android {

signingConfigs { 
    debug { 
     storeFile file(project.property("MyApp.signing")) 
     storePassword project.property("MyApp.signing.password") 
     keyAlias project.property("MyApp.signing.alias") 
     keyPassword project.property("MyApp.signing.password") 
    } 
} 

Bây giờ trong cùng thư mục chứa file build.gradle của bạn bạn nên có một tập tin gradle.properties (nếu không, hãy tạo nó). Bây giờ chúng ta sẽ thêm các tính chất chúng tôi sử dụng ở trên để nộp các thuộc tính để ánh xạ các giá trị:

MyApp.signing=RelativeOrAbsolutePathToKeystore 
MyApp.signing.password=yourPassword 
MyApp.signing.alias=aliasNameOfYourKeystore 

Một ví dụ mà tập tin keystore.jsk (tạo ra thông qua Android Studio) nằm một thư mục trên thư mục ứng dụng (trong đó tệp thuộc tính là):

MyApp.signing=../myapp.keystore.jsk 
MyApp.signing.password=helloworkd 
MyApp.signing.alias=myapp_alias 

Cấu hình trên sẽ sử dụng khóa để ký một bản dựng gỡ lỗi (vì công cụ signingConfigs của chúng tôi đã được tạo cho bản dựng gỡ lỗi).

Vì vậy, hãy đảm bảo rằng trong Android Studio, hãy đặt biến thể xây dựng của bạn thành "gỡ lỗi". Nếu bạn muốn làm tất cả điều này cho bản phát hành, hãy xây dựng các biến thể xây dựng của bạn để phát hành và signConfigs của bạn để phát hành {...} thay vì gỡ lỗi {...} hoặc chỉ cần thêm cả hai nếu bạn muốn chuyển đổi giữa chúng.

+0

Câu trả lời Grear! Cảm ơn bạn! – researcher

+0

Rất tốt cảm ơn bạn – user2582318

+1

Tôi đã +1 điều này cho đầy đủ nhưng các biện pháp wholey của dê tại sao Android Studio lại sucky.? Với nhật thực, đây là giải pháp một cú nhấp chuột. – s1ni5t3r

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