私はAndroid Studioを使用してAndroidのホームアプリを開発しています。 アプリは特別なアプリです.APMファイルをインストールする前に、adbシェルコマンドでアンドロイドデバイスを変更する必要があります。 これをアーカイブするために、私はbuild.gradleファイルにgradleタスクを書いてから、bashスクリプトファイルを実行します。 この方法は、1つのデバイスだけが接続されている場合を除いては問題ありません。Android Studioの構築プロセスでAndroidデバイスIDを知る方法
複数のAndroid端末が接続されている場合、アンドロイド端末IDを指定できないため、シェルスクリプトが機能しません。
質問はです。Android Studioを使用してbuild.graldeファイルにアンドロイドデバイスIDを取得する方法はありますか?
build.gradle
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
}
beforeInstall.sh
#!/bin/bash
ADB=$1/platform-tools/adb
ADB_SHELL="$ADB -s $2 shell"
$ADB_SHELL pm enable com.android.launcher
$ADB_SHELL am start -n com.android.launcher/com.android.launcher2.Launcher
)あなたは 'adbのシェルsqlite3のの/data/data/com.android.providers.settings/を試してみましたデータベース/ settings.db "安全な値からのSELECT値WHERE name = 'android_id'" " – haifzhan
接続されたデバイスは常に同じではありません。 – wf9a5m75
あなたのデバイスをリセットしましたか? – haifzhan