gpt4 book ai didi

android - 我可以将我的 Android 应用程序构建为调试但使用发布 keystore 签名吗

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:49:26 26 4
gpt4 key购买 nike

我正在尝试在我的应用中测试应用内结算。我在 Play 商店中设置了账单和产品 ID,但要测试交易,我需要使用我的发布 keystore 签署我的应用程序,否则它会失败。

我正在使用 IntelliJ Idea(Ver. 11 CE)并且不太清楚如何配置项目以使用调试集构建并在部署到我的设备之前使用我的发布 keystore 进行签名。

我看到我可以为配置设置一个 ant 目标,我假设这是要走的路,但由于我的 build.xml 导入了 Android SDK/tools/ant/build.xml,因此没有任何目标选择。

要调试,我只需要在 list 中启用 set android:debuggable="true"吗?有人对可以完成我需要的事情的 Ant 目标有建议吗?我可以添加到我的 build.xml 中吗?

最佳答案

指针指向正确的方向 Ixx我最终设置了 android:debuggable="true"并使用命令行来构建和部署。然后附加到正在运行的进程进行调试。

我的应用程序设置为在命令行中使用导入 androidSDK/tools/ant/build.xml 的 ant build.xml 文件和支持的 build.properties 文件进行构建。我发现当我设置 android:debuggable="true"然后执行“ant release”时,构建过程将创建一个可调试的 apk 并使用发布 key 对其进行签名。

我在我的 build.xml 文件中创建了一个目标,我可以为这种情况设置一个名为 set-debuggable 的目标

<target name="set-debuggable" description="sets internal named property">
<echo>Setting internal named property...</echo>
<property name="set.debuggable" value="true" />
</target>

然后在我添加的预构建目标中

    <if>
<condition>
<isset property="set.debuggable"/>
</condition>
<then>
<replaceregexp
file="AndroidManifest.xml"
match="(android:debuggable=&#34;).*(&#34;)"
replace="\1true\2"/>

</then>
<else>
<replaceregexp
file="AndroidManifest.xml"
match="(android:debuggable=&#34;).*(&#34;)"
replace="\1false\2"/>

</else>
</if>

这会创建我的可调试 apk,当我使用“ant set-debuggable release”时,它是用我的发布 key 签名的。然后我使用“adb install -r myApp-release.apk”重新安装新版本。然后我可以启动并附加到正在运行的应用程序以通过应用程序内购买进行调试。

似乎 IntelliJ Idea 和 Eclipse 在您系统的某处使用自签名调试 key 从 IDE 构建和部署调试 apk。

事后看来,我可能已经能够用我的发布 key 替换 IDE 创建的调试 key ,并尝试让构建使用该 key 进行签名(并找到使用该 key 的密码),但上面的构建过程花费了我几乎没有时间设置和开始使用。如果有人朝这个方向努力并让它发挥作用,请在我的回答中添加评论。

关于android - 我可以将我的 Android 应用程序构建为调试但使用发布 keystore 签名吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12077426/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com