[AS3.0.1]meta-data和manifestPlaceholders的使用

一篇關(guān)于meta-data的轉(zhuǎn)載記錄


  • application下

<application ... >
    <meta-data android:name="TEST_KEY" android:value="${test_key}"/>
</application>
        try {
            ApplicationInfo info = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
            Log.e("info", info.metaData.getString("TEST_KEY"));
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }

  • activity下

<activity ... >
    <meta-data android:name="TEST_KEY" android:value="${test_key}"/>
</activity>
        try {
            ActivityInfo info = getPackageManager().getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);
            Log.e("info", info.metaData.getString("TEST_KEY"));
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }

  • service下

<service ... >
    <meta-data android:name="TEST_KEY" android:value="${test_key}"/>
</service>
        try {
            ServiceInfo info = getPackageManager().getServiceInfo(getComponentName(), PackageManager.GET_META_DATA);
            Log.e("info", info.metaData.getString("TEST_KEY"));
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }

  • receiver下

<receiver ... >
    <meta-data android:name="TEST_KEY" android:value="${test_key}"/>
</receiver>
        try {
            ActivityInfo info = getPackageManager().getReceiverInfo(getComponentName(), PackageManager.GET_META_DATA);
            Log.e("info", info.metaData.getString("TEST_KEY"));
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }

manifestPlaceholders使用

在build.gradle的多版本中設(shè)置

            manifestPlaceholders = ["test_key": "修改的內(nèi)容"]

好比如下

    productFlavors{
        dev{
            manifestPlaceholders = ["test_key": "測試版key"]
        }
        free{
            applicationIdSuffix ".free"
            manifestPlaceholders = ["test_key": "Free版key"]
        }
    }

效果如下


測試
Free

資料

Android獲取Manifest中<meta-data>元素的值

使用 gradle 在編譯時動態(tài)設(shè)置 Android resValue / BuildConfig / Manifes中<meta-data>變量的值

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容