簡體   English   中英

如何在android studio中定義本地環境變量?

[英]How can I define local environment variables in android studio?

我和一些同事正在構建一個應用程序,並使用git進行版本控制。

我們的應用程序利用了Google Maps Api,它基於SHA1證書生成唯一的api密鑰。 要使用地圖,必須在清單中這樣引用api鍵

    ....

    <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="api_key_goes_here"/>

</application>

我們每個人都基於個人計算機上應用程序的構建生成了自己的api密鑰,但我們希望在每台計算機上都有一個屬性文件,而不將其簽入存儲我們唯一api密鑰的版本控制中,因此我們不每次我們從存儲庫中提取信息時,都不必手動更改清單中的api密鑰。

這可能嗎? 我知道android studio中有屬性文件,但是我不知道如何使用它們,尤其是在這種情況下。

編輯:

完整清單:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"/>



<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
    android:name=".Application">
    <activity android:name="com.misfiremedia.parseexperiment.app.DispatchActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="com.misfiremedia.parseexperiment.app.SignUpActivity">

    </activity>
    <activity
        android:name="com.misfiremedia.parseexperiment.app.WelcomeActivity"
        android:configChanges="orientation|keyboardHidden"/>

    <activity
        android:name=".EmailLogInActivity"
        android:configChanges="orientation|keyboardHidden"/>

    <activity
        android:name="com.misfiremedia.parseexperiment.app.HomeActivity"
        android:configChanges="orientation|keyboardHidden"/>

    <activity
        android:name="com.misfiremedia.parseexperiment.app.home.PostLocationActivity"
        android:configChanges="orientation|keyboardHidden"/>

    <activity
        android:name=".NewPostActivity"
        android:configChanges="orientation|keyboardHidden"/>

    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version"/>
    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="THIS_IS_THE_KEY_WE_NEEDED_TO_HAVE_DIFFERENT"/>
</application>

在Android中,有一個buildTypes概念,因此您可以創建三個buildTypes或團隊中需要多少個buildTypes。

如下圖所示,就像一個,兩個和三個一樣,三個不同的清單在每個清單中都有不同的鍵。

在此處輸入圖片說明

現在,團隊成員可以選擇各自的buildVariant並進行工作,當有人從git中拉取時,選擇的buildVariant不會產生任何影響,它會保持選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM