[英]How to set an environment variable in Android?
我正在開展一個項目,在該項目中我使用 Android 操作系統為零售店開發自助服務終端應用程序。 出於我的目的,我需要能夠在 Android 設備上設置一個環境變量:
獎勵:如果我可以從 adb 設置變量,那就更好了。
令人驚訝的是,事實證明這比預期的要困難得多。
SharedPreferences
不會削減SharedPreferences
,因為該變量取決於創建它的應用程序。Os.setenv
設置一個變量,一旦應用程序關閉或重新啟動,該變量就會被擦除。adb shell export
似乎根本沒有效果。有人解決過這個問題嗎?
如果您想使用 Android 框架/以 Android 方式向其他 Android 應用程序公開數據,則可以使用ContentProvider
。 或者,如果您有 root 訪問權限並且更喜歡 adb,那么您可以使用setprop
和getprop
:
$ adb shell setprop my.random.prop ok
$ adb shell getprop my.random.prop //outputs "ok"
如果您有權訪問 Android 源代碼,您可以向init.rc
添加一個命令,該命令在啟動時運行它。 或者,您可以在data/local
等位置創建文件?
編輯:阿蘭在評論中指出,將persist
性添加到屬性(即persist.device.id
)允許它在重新啟動后繼續存在。
這樣做以將使用 android studio 設置為應用程序級別的build.gradle
將您的值文件粘貼到src/main/res/raw
文件夾中
task copySecretKey(type: Copy) {
def File secretKey = file "$System.env.YOUR_VARIABLE"
from secretKey.getParent()
include secretKey.getName()
into 'src/main/res/raw'
rename secretKey.getName(), "VALUE_OF_VARIABLE_FROM_RAW_FILE" // in my case it is credential.json
}
preBuild.dependsOn(copySecretKey)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.