2012-07-24 52 views
5

Khá một chút lỗi kỳ lạ đang xảy ra sau khi tôi nâng cấp android và che khuất các công cụ để v20Ant thất bại trong việc xây dựng apk ký sau khi cập nhật lên v20 android

xây dựng thông qua Ant ngừng làm việc với các lỗi sau khi tạo ra các ký apk

BUILD FAILED 
C:\Programs\Android\tools\ant\build.xml:1097: The following error occurred while executing this line: 
C:\Programs\Android\tools\ant\build.xml:1109: Cannot recover key 

Bất kỳ ý tưởng nào có thể đã thay đổi khi thực hiện nâng cấp lên thành phần JB Android và cách này có thể được sửa chữa?

Tôi đánh giá cao sự giúp đỡ nào ...

Trả lời

3

Tôi chỉ dành khoảng 5 giờ cho chủ đề này ... Tất cả đều rơi xuống một khoảng trống sau mật khẩu.

Dường như trong phiên bản trước nó đã cắt mật khẩu và trong phiên bản hiện tại thì không.

Vì vậy, đảm bảo bạn không có khoảng trống ở cuối dòng có thể tạo sự khác biệt. Điều đó giải quyết vấn đề cho chúng tôi - không cần phải đi đến JDK7 (mặc dù nó có vẻ như xây dựng và làm việc tốt dù sao, ít nhất là từ kiến).

+0

Bạn là phao cứu sinh @Roberto C Serrano. Cũng không có thêm dòng trống ở cuối tệp ant.properties. –

0

Dường như chính debug của bạn không được nhìn thấy bởi kiến.

+0

Cảm ơn bạn đã trả lời, hãy xây dựng xml được định cấu hình để ký ứng dụng bằng khóa phát hành. Cài đặt đó được chỉ định trong tệp ant.properties đường dẫn được chỉ định trong tệp build.xml. Xin lưu ý rằng mọi thứ đã hoạt động trước khi nâng cấp các công cụ Android và eclipse lên v20 (đậu Jelly) –

8

Chúng tôi đã có cùng một vấn đề và chúng tôi có giải pháp nhưng không thực sự là giải thích!

xây dựng đang tồn tại của chúng tôi đã có những điều sau đây trong các tập tin thuộc tính:

  • key.store = COMPANY_NAME-key.keystore
  • key.alias = COMPANY_NAME
  • key.store.password = KEY_STORE_PASSWORD
  • key.alias.password = KEY_ALIAS_PASSWORD

Nhưng điều này đã ngừng hoạt động - tuy nhiên khi chúng tôi thay đổi khóa.alias.p assword để phù hợp với mật khẩu lưu trữ nó đang làm việc ví dụ:

  • key.store = COMPANY_NAME-key.keystore
  • key.alias = COMPANY_NAME
  • key.store.password = KEY_STORE_PASSWORD
  • key.alias .password = KEY_STORE_PASSWORD

Bí danh không chắc chắn lý do, có lẽ ai đó đã nhét thư viện kiến?

+0

Cảm ơn bạn đã phản hồi uesr1556185. Bạn đang trả lời thực sự đã tăng thêm câu hỏi. Vấn đề là mật khẩu cửa hàng và bí danh của tôi đã giống nhau ngay từ đầu ... Bằng cách tôi có thể xuất khẩu một gói ứng dụng độc đáo bằng công cụ android eclipse - Nhấp chuột phải vào dự án> Công cụ Android> Xuất ứng dụng đã ký Gói ... –

+0

Cảm ơn, điều này làm việc cho tôi, nhưng thực sự rất lạ. – HefferWolf

+0

Vui vì nó làm việc cho bạn HefferWold, xin lỗi nó đã không cho Nar Gar. Tôi là một chút mất mát những gì để đề nghị, tôi đã xem xét nguồn Git cho mục tiêu ant SignApk và không thể nhìn thấy bất cứ điều gì rõ ràng là sai. Nó đề cập đến một số thay đổi trong quá trình ký - đăng ký ở đây: https://android.googlesource.com/platform/sdk/+/1cb06d5bc82268dc5c684aa2ee7415175ce14c7e không thể thấy tại sao đó lại là vấn đề. Bạn đang sử dụng JDK nào? Có lẽ SDK 7 có thể hoạt động? – TeazelDev2

1

Trước SDK v20, tôi đã xây dựng một dự án sử dụng một kịch bản bash, nhập mật khẩu như thế này:

build_v1.sh

ant release 
[email protected] 
[email protected] 

Trong v20 nó không thành công vì isn mật khẩu' t được chấp nhận. Nó dường như có liên quan đến ký tự cuối dòng, nhưng tôi không chắc chắn. Để ngăn chặn quá trình xây dựng yêu cầu mật khẩu, bạn có thể thêm thuộc tính mật khẩu vào tệp ant.properties:

kiến.tính

key.store=company-key.keystore 
key.alias=company 
[email protected] 
[email protected] 

Đối với dự án cụ thể của tôi, một mật khẩu keystore giả được lưu trong ant.properties và tôi thay thế nó bằng mật khẩu keystore phát hành tại thời gian xây dựng:

build_v2.sh

[email protected] 
sed -i "s|key.store.password=.*|key.store.password=${keyPass}|g" ant.properties 
sed -i "s|key.alias.password=.*|key.alias.password=${keyPass}|g" ant.properties 
ant release 

Điều này cho phép mật khẩu kho khóa phát hành của chúng tôi được lưu trữ ở nơi khác. Chúc may mắn!

2

Beware of the Error-Tin Riêng:

sai key.store.password dẫn đến:

Keystore được giả mạo, hoặc mật khẩu không chính xác: Mật khẩu xác minh thất bại

Trong khi một sai key.alias.password dẫn đến:

Không thể khôi phục khóa

Cho mọi người chỉ kiểm tra mật khẩu cửa hàng theo số keytool -v -list mykeystore.keystore và không bao giờ verfied bí danh.password.

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