<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.nd.component"
android:versionCode="1"
android:versionName="0.1.0-SNAPSHOT">
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="21"/>
<application>
<activity
android:name=".MainContainerActivity"
android:configChanges="screenSize|orientation|keyboardHidden"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan"
/>
<activity
android:name="com.nd.component.update.DownloadActivity"
android:theme="@android:style/Theme.Dialog"/>
<permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>
</application>
如何获得First活动&#34; windowSoftInputMode&#34;使用gradle值。
事实上,在尝试获取&#34; android:versoinCode&#34;时遇到了一些麻烦。值。
这是我的gradle代码。
task parsexx() {
def parseXmlFile = (new XmlParser()).parse('AndroidManifest.xml');
println parseXmlFile.@package
def android_versionCode = 'android:versionCode'
println "${android_versionCode}"
println parseXmlFile.@"${android_versionCode}"
println parseXmlFile.@${android_versionCode}
}
使用此代码获取软件包的名称是可以的,但是当我尝试获取&#34; android:versionCode&#34;。
时返回null抱歉我的英语不好......
答案 0 :(得分:0)
我自己解决了。
task parsexxx() {
def manifest = new XmlSlurper().parse('AndroidManifest.xml').declareNamespace(android:'http://schemas.android.com/apk/res/android');
println manifest.@package
manifest.application.activity.each {
def m = it.attributes()['android:name'] =~ /MainContainerActivity/
if (m.find()) {
println "FOUND!"
if (it.attributes()['android:windowSoftInputMode'] == "adjustPan") {
println "Attribute Found!"
it.@'android:windowSoftInputMode' = "adjustResize"
println it.@'android:windowSoftInputMode'
}
}
}