Skip to content

Instantly share code, notes, and snippets.

@bagpack
Last active September 5, 2017 05:52
Show Gist options
  • Select an option

  • Save bagpack/7839754 to your computer and use it in GitHub Desktop.

Select an option

Save bagpack/7839754 to your computer and use it in GitHub Desktop.
run script with android plugin. launching application after gradle install${buildType}.
android.buildTypes.all{ theBuildType ->
def buildType = theBuildType.name
def taskName = "run${theBuildType.name.capitalize()}"
task ("${taskName}") {
dependsOn "install${theBuildType.name.capitalize()}"
doLast {
def xml = new File(buildDir.toString() + "/manifests/${buildType}/AndroidManifest.xml")
def manifest = new XmlParser(false,true).parseText(xml.getText())
def ns = new groovy.xml.Namespace("http://schemas.android.com/apk/res/android", "ns")
def activities = manifest.application.activity
def action = activities.'intent-filter'.action.find {
it.attributes()[ns.'name'] == "android.intent.action.MAIN"
}
def mainActivity = action.parent().parent()
def activityName = mainActivity.attributes()[ns.'name']
def packageName = manifest.'@package'
def activityFullName
if(activityName.startsWith(".")) {
activityFullName ="${packageName}/${activityName}"
} else if( activityName.contains(".")) {
activityFullName = "${packageName}/${activityName}"
} else {
activityFullName = "${packageName}/.${activityName}"
}
def sdkDir = project.android.sdkDirectory
def adbPath = new File(sdkDir, 'platform-tools/adb').toString()
"${adbPath} shell am start -a android.intent.action.MAIN -n ${activityFullName}".execute()
}
}
}
@ichigotake
Copy link

gradle-android-plugin 0.10.0から project.plugins.getPlugin('android').sdkDirectory が利用出来なくなり、 project.android.sdkDirectory に変更する必要があるようです

https://gist.github.com/ichigotake/eefb368fa0dffa79b4fc/revisions

@bagpack
Copy link
Author

bagpack commented Jul 24, 2014

Androidアプリ開発から離れているのでたいへん助かります。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment