【问题标题】:Launch app with environment variable使用环境变量启动应用程序
【发布时间】:2018-09-01 18:55:04
【问题描述】:

我正在编写一个 C/C++ Android 应用程序。我正在使用的库之一根据是否设置了环境变量来打印额外的调试信息。有什么办法可以设置吗?

我希望可以在 Android Studio 中使用环境变量配置启动目标。在启动选项下,有一个选项可以为 am start 调用提供标志,但 Activity Manager 不提供在启动前设置环境变量的任何方式。

【问题讨论】:

  • 要么以提供环境变量值或Define and use a system property 的意图启动应用程序,要么我不明白您希望如何将调试标志值传递给库。
  • @MorrisonChang 我不相信环境变量和 Java 系统属性是一回事。见stackoverflow.com/questions/7054972/…。系统属性可使用System.setProperties() 设置,但环境变量只能在Java 中读取,使用System.getenv()
  • 因此,除了环境变量,该库没有启用调试信息的替代方法,因为这些原因,环境变量更有可能产生意想不到的副作用。最好尽可能使用系统属性。来自developer.android.com/reference/java/lang/…
  • 好像没有,没有。

标签: android android-ndk


【解决方案1】:

在您的 APK 中包含一个 wrap.sh 文件:https://developer.android.com/ndk/guides/wrap-script.html

这仅适用于可调试的 APK,但考虑到您希望它用于日志记录,无论如何这可能是最好的。

【讨论】:

  • API 26+ 要求有点不幸,但我很高兴 Android 添加了这个。这正是我所需要的。
猜你喜欢
  • 1970-01-01
  • 2021-01-30
  • 2018-10-29
  • 1970-01-01
  • 2023-04-07
  • 2021-11-19
  • 1970-01-01
  • 1970-01-01
  • 2014-06-08
相关资源
最近更新 更多