Android studio 在Android Studio的构建过程中如何知道Android设备id
我一直在使用Android Studio开发一个Android家庭应用程序。 该应用程序是一种特殊的应用程序,在安装apk文件之前,我需要用adb shell命令修改android设备。 为了将其归档,我在build.gradle文件中编写了一个gradle任务,然后执行一个bash脚本文件。 这种方法很好,除非只连接了一个设备 但是,当连接多个android设备时,shell脚本无法工作,因为我无法指定android设备id 问题是如何使用android Studio在build.gralde文件中获取android设备id? build.gradleAndroid studio 在Android Studio的构建过程中如何知道Android设备id,android-studio,android-gradle-plugin,Android Studio,Android Gradle Plugin,我一直在使用Android Studio开发一个Android家庭应用程序。 该应用程序是一种特殊的应用程序,在安装apk文件之前,我需要用adb shell命令修改android设备。 为了将其归档,我在build.gradle文件中编写了一个gradle任务,然后执行一个bash脚本文件。 这种方法很好,除非只连接了一个设备 但是,当连接多个android设备时,shell脚本无法工作,因为我无法指定android设备id 问题是如何使用android Studio在build.gralde
task clearHome(type: Exec) {
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
def sdkDir = properties.getProperty('sdk.dir')
// I'd like to know <android device id> that I selected using Android Stdio.
commandLine file('../beforeInstall.sh').absolutePath, sdkDir <android device id>
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn clearHome
}
不确定我是否理解了这个问题,但如果您通过命令行运行gradle脚本,则始终可以向它传递属性。。 即: 您只需要首先从adb shell获取Id,然后将其传递给gradle脚本。 然后,在gradle脚本中使用propertyDeviceId
androidDeviceId = propertyDevicecId;
commandLine file('../beforeInstall.sh').absolutePath, sdkDir <androidDeviceId>
androidDeviceId=PropertyDeviceID;
命令行文件('../beforeInstall.sh')。绝对路径,sdkDir
快乐编码(或黑客);) 您是否尝试过
adb shell sqlite3/data/data/com.android.providers.settings/databases/settings.db“从安全位置选择值,其中name='android_id'”
连接的设备始终不相同。您是否重置了设备?您可能会误解。安卓设备不是问题。我想知道我在Android studio的目标选择对话框中选择了哪种设备。你有没有想出一个合适的解决方案?嗯,设备ID总是不同的。我想知道我在Android studio的目标选择对话框中选择了哪个设备。
gradle somegradletask -P**propertyDeviceId=123456789**
androidDeviceId = propertyDevicecId;
commandLine file('../beforeInstall.sh').absolutePath, sdkDir <androidDeviceId>