ADB 是否有可能与第 3 方 Android AIDL 通信?
Is it possible that ADB communicate with 3rd party Android AIDL?
Android 可以使用adb shell service call SERVICE
与.aidl 文件通信,传递参数并获取return 值。但是,它属于 Android 源代码。安装自己写的非系统应用后是否可以做同样的事情?
比如我写了一个app,包名是com.test.aidl
,里面有个函数
fun add(x: Int, y: Int): Int {
return x +y
}
我可以使用 adb 命令,例如 adb shell service call com.test.aidl add i32 1 i32 2
并在命令提示符下获取值 3
吗?
我已经使用仪器解决了这个问题。
ADB 命令
adb shell am insrument -e <NAME> <VALUE> <package/runner>
Android
public class Test extends android.test.InstrumentationTestRunner{
@Override
public void onCreate(Bundle bundle) {
super.onCreate(arguments);
value = (String) bundle.get("name");
}
然后使用sendStatus api在CMD上打印
Android 可以使用adb shell service call SERVICE
与.aidl 文件通信,传递参数并获取return 值。但是,它属于 Android 源代码。安装自己写的非系统应用后是否可以做同样的事情?
比如我写了一个app,包名是com.test.aidl
,里面有个函数
fun add(x: Int, y: Int): Int {
return x +y
}
我可以使用 adb 命令,例如 adb shell service call com.test.aidl add i32 1 i32 2
并在命令提示符下获取值 3
吗?
我已经使用仪器解决了这个问题。
ADB 命令
adb shell am insrument -e <NAME> <VALUE> <package/runner>
Android
public class Test extends android.test.InstrumentationTestRunner{
@Override
public void onCreate(Bundle bundle) {
super.onCreate(arguments);
value = (String) bundle.get("name");
}
然后使用sendStatus api在CMD上打印