简体   繁体   English

groovy从AndroidManifest.xml获取属性

[英]groovy get attribute from AndroidManifest.xml

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.emnets.luoly.sample"
    android:versionCode="1"
    android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="24"
    android:targetSdkVersion="19" />

<uses-permission android:name= "android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name= "android.permission.INTERNET" /> 

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme" >
    <activity android:name="com.emnets.luoly.sample.MainActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    </application>
</manifest>

I would like to get uses-permission using groovy. 我想使用Groovy获得uses-permission

Maybe like this, 也许是这样

def manifestXml = new XmlParser().parse(Manifest)
 manifestXml."uses-permission".each { p ->
            println p.attribute("android:name")
        }

How to get attribute like android.permission.WRITE_EXTERNAL_STORAGE 如何获取android.permission.WRITE_EXTERNAL_STORAGE属性

You can use XmlSlurper 您可以使用XmlSlurper

def manifestXml = new XmlSlurper().parse(Manifest)
manifestXml."uses-permission".each { p ->
    println p."@android:name"
}

Use XmlSlurper get ActivityName 使用XmlSlurper获取ActivityName

    def manifest = new XmlSlurper().parse(xmlFilePath)
    String pkg = manifest.@package
    manifest.application.activity.each {
        String actName = it.'@android:name'
        if (actName.substring(0, 1).equals('.')) {
            actName = pkg + actName
        }
        println(actName)
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM