Android lf——这就是AIDL编译过程中相关(找到事务号)部分的全部范围。计算函数的数量(每个函数之间相隔一页——你不算行,可能有几十行)比搜索并查看实际的常量值更容易,并且希望你在心里以同样的方式编译文件?如果你觉得这有点做作的话,很抱歉。这才是真正的答案!可惜
Android lf——这就是AIDL编译过程中相关(找到事务号)部分的全部范围。计算函数的数量(每个函数之间相隔一页——你不算行,可能有几十行)比搜索并查看实际的常量值更容易,并且希望你在心里以同样的方式编译文件?如果你觉得这有点做作的话,很抱歉。这才是真正的答案!可惜,android,shell,service,adb,Android,Shell,Service,Adb,lf——这就是AIDL编译过程中相关(找到事务号)部分的全部范围。计算函数的数量(每个函数之间相隔一页——你不算行,可能有几十行)比搜索并查看实际的常量值更容易,并且希望你在心里以同样的方式编译文件?如果你觉得这有点做作的话,很抱歉。这才是真正的答案!可惜我花了两年才找到你的剧本!让其他人知道,每个服务调用在很大程度上都依赖于AOS/API,调用号越低,跨AOS版本兼容的可能性就越大。对于较高的号码,例如service call phone 87 i32 0 i32 1(将网络设置为仅使用2G
lf——这就是AIDL编译过程中相关(找到事务号)部分的全部范围。计算函数的数量(每个函数之间相隔一页——你不算行,可能有几十行)比搜索并查看实际的常量值更容易,并且希望你在心里以同样的方式编译文件?如果你觉得这有点做作的话,很抱歉。这才是真正的答案!可惜我花了两年才找到你的剧本!让其他人知道,每个服务调用在很大程度上都依赖于AOS/API,调用号越低,跨AOS版本兼容的可能性就越大。对于较高的号码,例如
service call phone 87 i32 0 i32 1
(将网络设置为仅使用2G GSM)最有可能在所有其他设备上发生故障,而不是预期的。“在我的情况下,它是android-8.1.0r50”:您指的是单个设备上的android版本吗,或者Gradle config?r50中的compileSdkVersion并不重要,因为它们不会在版本之间的接口文件中引入新功能。我已经编辑过了。这很好,顺便说一句,回答也不错。但是,我的问题是:我们是在寻找安装的设备Android OS版本,还是应用程序编译时使用的版本?(ie compileSdkVersion)我们正在考虑设备上安装的版本,因为与应用程序相关的版本对我来说没有任何意义。太好了,谢谢澄清。我不确定进行调用的应用程序的编译版本是否改变了shell命令的解释方式。(ie应用程序使用运行在Oreo操作系统上的Pie SDK 28编译)
service call notification 1
service call isms 5 s16 "PhoneNumber" i32 0 i32 0 s16 "BodyText"
Usage: service [-h|-?]
service list
service check SERVICE
service call SERVICE CODE [i32 INT | s16 STR] ...
Options:
i32: Write the integer INT into the send parcel.
s16: Write the UTF-16 string STR into the send parcel.
static final int TRANSACTION_sendText = (android.os.IBinder.FIRST_CALL_TRANSACTION + 4);
service call <your_service_name> <number at which the function appears in your_service_name.aidl> <type of the argument like i32 or i64> <argument>
adb shell service list
.
.
.
59 ethernet: [android.net.IEthernetManager]
60 wifip2p: [android.net.wifi.p2p.IWifiP2pManager]
61 rttmanager: [android.net.wifi.IRttManager]
62 wifiscanner: [android.net.wifi.IWifiScanner]
63 wifi: [android.net.wifi.IWifiManager]
64 overlay: [android.content.om.IOverlayManager]
65 netpolicy: [android.net.INetworkPolicyManager]
66 netstats: [android.net.INetworkStatsService]
67 network_score: [android.net.INetworkScoreService]
68 textservices: [com.android.internal.textservice.ITextServicesManager]
69 network_management: [android.os.INetworkManagementService]
70 clipboard: [android.content.IClipboard]
71 statusbar: [com.android.internal.statusbar.IStatusBarService]
.
.
.
70 clipboard: [android.content.IClipboard]
https://android.googlesource.com/platform/frameworks/base.git/+/android-4.2.2_r1/core/java/android/content/IClipboard.aidl
/core/java/android/content/IClipboard.aidl
https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r51
https://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r51/core/java/android/content/IClipboard.aidl
void setPrimaryClip(in ClipData clip, String callingPackage);
ClipData getPrimaryClip(String pkg);
ClipDescription getPrimaryClipDescription(String callingPackage);
boolean hasPrimaryClip(String callingPackage);
void addPrimaryClipChangedListener(in IOnPrimaryClipChangedListener listener,
String callingPackage);
void removePrimaryClipChangedListener(in IOnPrimaryClipChangedListener listener);
/**
* Returns true if the clipboard contains text; false otherwise.
*/
boolean hasClipboardText(String callingPackage);
adb shell service call clipboard 7
getDemo(String arg1, int arg2, boolean arg3)
adb shell call clipboard 8 s16 "first_argument" i32 12 i32 1
android-svc --adb call 'phone.dial("555-0199")'
android-svc --adb method-signature 'phone.dial'
void dial(String number);
Usage: service [-h|-?]
service list
service check SERVICE
service call SERVICE CODE [i32 N | i64 N | f N | d N | s16 STR | null | fd f | nfd n | afd f ] ...
Options:
i32: Write the 32-bit integer N into the send parcel.
s16: Write the UTF-16 string STR into the send parcel.
i64: Write the 64-bit integer N into the send parcel.
f: Write the 32-bit single-precision number N into the send parcel.
d: Write the 64-bit double-precision number N into the send parcel.
null: Write a null binder into the send parcel.
fd: Write a file descriptor for the file f to the send parcel.
nfd: Write file descriptor n to the send parcel.
afd: Write an ashmem file descriptor for a region containing the data from file f to the send parcel.
intent: Write and Intent int the send parcel. ARGS can be action=STR data=STR type=STR launchFlags=INT component=STR categories=STR[,STR,...]