Android 4.01オープンソースに続いて、同じ問題があります。次のようなものがあります。
public synchronized LegacyVpnInfo getLegacyVpnInfo() {
// Only system user can call this method.
if (Binder.getCallingUid() != Process.SYSTEM_UID) {
throw new SecurityException("Unauthorized Caller");
}
return (mLegacyVpnRunner == null) ? null : mLegacyVpnRunner.getInfo();
}
または、
// Only system user can revoke a package.
if (Binder.getCallingUid() != Process.SYSTEM_UID) {
throw new SecurityException("Unauthorized Caller");
}
または、
public void protect(ParcelFileDescriptor socket, String interfaze) throws Exception {
PackageManager pm = mContext.getPackageManager();
ApplicationInfo app = pm.getApplicationInfo(mPackage, 0);
if (Binder.getCallingUid() != app.uid) {
throw new SecurityException("Unauthorized Caller");
}
jniProtect(socket.getFd(), interfaze);
}
ただし、上記のコード ブロックは com.android.server.connectivity.Vpn に属します。
(クラス Vpn)、これは interface で定義されていませんIConnectivityManager
。
startLegacyVpnInfo()
関数にもありますが、例外が含まれているものは何も表示されません
「不正な呼び出し元」なので、なぜstartLegacyVpnInfo()
関数がこの例外をスローするのだろうか?
これに対する解決策はありますか?