Android 在预加载应用程序的设备上调试

Android 在预加载应用程序的设备上调试,android,preload,Android,Preload,有没有一种方法可以在预装了应用程序的设备上进行开发?我已经尝试过更改应用程序的名称,但这会影响很多文件,而您实际上无法采用这种方式进行开发(在签入前更改所有名称,然后在签入后将其重新签入)。有关在手机上调试的说明,请参见指南主题。是的。在设备上启用调试模式,并使用USB将设备连接到计算机,然后您可以查看日志(假设您的应用程序使用日志记录)。您不需要为设备设置根目录 我通常会关闭实际使用的APK上的日志记录(我有一个console.log的自定义包装器,我可以使用全局文件关闭它)。在这种情况下,您

有没有一种方法可以在预装了应用程序的设备上进行开发?我已经尝试过更改应用程序的名称,但这会影响很多文件,而您实际上无法采用这种方式进行开发(在签入前更改所有名称,然后在签入后将其重新签入)。

有关在手机上调试的说明,请参见指南主题。

是的。在设备上启用调试模式,并使用USB将设备连接到计算机,然后您可以查看日志(假设您的应用程序使用日志记录)。您不需要为设备设置根目录


我通常会关闭实际使用的APK上的日志记录(我有一个console.log的自定义包装器,我可以使用全局文件关闭它)。在这种情况下,您可以在应用程序中设置复活节彩蛋,允许用户在知道适当密码时打开登录等。

如果您可以使用与设备固件中应用程序副本相同的签名密钥对应用程序进行签名,拥有更高的android:versionCode应允许您安装和测试更新的应用程序。至少,据我所知,谷歌地图(GoogleMaps)等应用程序就是这样工作的,固件提供了一个,但更新是通过Android市场实现的

但是,如果您无法使用相同的签名密钥对应用程序进行签名,则该操作将无效,并且您除了执行以下操作之外别无选择:

  • 为设备设置根目录,删除固件副本,可能取消设备的根目录(de Root?dis Root?),然后正常使用,或者

  • 按照您的描述重构您的应用程序


  • 您需要从命令行将项目构建到不同的包名中(预加载的应用程序使用的包名除外)…
    查看此链接以了解更多详细信息:


    尤其是aapt--自定义包,您可以在其中指定应用程序的新包名…

    --
    干杯

    @user645402-也许我误解了。你的问题标题说你想在设备上调试。您实际上想做什么?在预装了我的应用程序的设备上调试。@user645402这正是指南主题讨论的内容。请参阅所选答案。你知道“预加载”是什么意思吗?你如何指定keypass和storepass?@user645402:IIRC,你在创建密钥库时定义它们。嗯。。。我很困惑。我有一个调试密钥库和一个发布密钥库。我只是在调试密钥库上复制了我的发布密钥库,并尝试在带有预加载的手机上运行,但没有成功(eclipse中有红色的x,它无法运行)。当自动构建运行时,它会对应用程序进行“签名”。。。它在发布密钥库中使用-keypass和-storepass,所以。。。在设备上调试应用程序(该设备上已经有预加载)之前,是否需要对应用程序进行签名?@user645402:除非您是设备制造商,否则您没有所需的密钥库。@user645402:AFAIK。你真的应该向预装应用程序的设备制造商询问这些问题。