Với con trỏ theo hình thức đúng hướng Ixx tôi đã kết thúc việc thiết android: debuggable = "true" và sử dụng dòng lệnh để xây dựng và triển khai. Sau đó gắn vào quá trình chạy để gỡ lỗi.
Ứng dụng của tôi được thiết lập để xây dựng tại dòng lệnh với tệp ant build.xml nhập tệp androidSDK/tools/ant/build.xml và tệp build.properties hỗ trợ. Tôi phát hiện ra rằng khi tôi đặt android: debuggable = "true" và sau đó làm 'ant release', quá trình tạo sẽ tạo ra một gói ứng dụng có thể gỡ lỗi và ký nó với khóa phát hành.
Tôi tạo ra một mục tiêu trong file build.xml của tôi mà tôi có thể thiết lập cho trường hợp này được gọi là set-debuggable
<target name="set-debuggable" description="sets internal named property">
<echo>Setting internal named property...</echo>
<property name="set.debuggable" value="true" />
</target>
Sau đó, trong -pre-xây dựng mục tiêu của tôi tôi đã thêm
<if>
<condition>
<isset property="set.debuggable"/>
</condition>
<then>
<replaceregexp
file="AndroidManifest.xml"
match="(android:debuggable=").*(")"
replace="\1true\2"/>
</then>
<else>
<replaceregexp
file="AndroidManifest.xml"
match="(android:debuggable=").*(")"
replace="\1false\2"/>
</else>
</if>
này tạo ra gói ứng dụng có thể gỡ lỗi của tôi được ký với phím phát hành của tôi khi tôi sử dụng 'bản phát hành có thể gỡ lỗi được đặt ra'. Sau đó, tôi sử dụng 'adb install -r myApp-release.apk' để cài đặt lại bản dựng mới. Sau đó tôi có thể khởi chạy và đính kèm vào ứng dụng đang chạy để gỡ lỗi thông qua mua hàng trong ứng dụng.
Dường như cả IntelliJ Idea và Eclipse đều sử dụng khóa gỡ lỗi tự ký ở đâu đó trên hệ thống của bạn để xây dựng và triển khai một gói gỡ lỗi từ IDE.Trong một số trường hợp, tôi có thể thay thế khóa gỡ lỗi mà IDE đã tạo bằng khóa phát hành của tôi và cố gắng xây dựng để ký bằng khóa đó (và tìm mật khẩu để sử dụng khóa), nhưng quá trình xây dựng ở trên đã mất rất ít thời gian để thiết lập và bắt đầu sử dụng. Nếu bất cứ ai đi theo hướng này và làm cho nó hoạt động, vui lòng thêm nhận xét vào câu trả lời của tôi.
Tôi đã thử cách này, nhưng làm cách nào tôi có thể đặt mật khẩu được liên kết với kho khóa? Tôi luôn nhận được 'java.io.IOException: Keystore bị giả mạo, hoặc mật khẩu không chính xác' – ffleandro