DroidPlugin icon indicating copy to clipboard operation
DroidPlugin copied to clipboard

Unknown calling package name xxx

Open totoR13 opened this issue 3 years ago • 0 comments

Dear all, I created a new Android project importing DroidPlugin as module.

I'm trying DroidPlugin virtualization tool with different apps and for several of them (e.g., https://apkpure.com/it/puzzle/br.com.cjdinfo.puzzle or https://apkpure.com/it/italian-soccer-2020-2021/com.jappit.calcio) I received an error like this:

E/MyCrashHandler: uncaughtExceptionjava.lang.SecurityException: Unknown calling package name 'br.com.cjdinfo.puzzle'.
        at android.os.Parcel.readException(Parcel.java:1683)
        at android.os.Parcel.readException(Parcel.java:1636)
        at ks.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:49)
        at kp.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:2)
        at kr.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:3)
        at ki.c(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:6)
        at kl.handleMessage(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:27)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at pg.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:0)
        at pg.dispatchMessage(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:0)
        at android.os.Looper.loop(Looper.java:154)
        at android.os.HandlerThread.run(HandlerThread.java:61)

It seems that the proxy object doesn't work as expected: the tool do not change the plugin package name with the container one for system calls (e.g. like startActivity() call).

Below I add some details about my configuration:

MainActivity

public class MainActivity extends AppCompatActivity {
    [...]

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        String apkPath = [...];
        doInstall(new File(apkPath));
    }

    private void doInstall(final File apkPath) {
        try {
            Activity activity = this;
            final PackageInfo info = getPackageManager().getPackageArchiveInfo(apkPath.getAbsolutePath(), PackageManager.GET_ACTIVITIES);
            if (info == null) {
                // handle error
                return;
            }
            final int re = PluginManager.getInstance().installPackage(apkPath.getAbsolutePath(), PackageManagerCompat.INSTALL_REPLACE_EXISTING);
            switch (re) {
                case PluginManager.INSTALL_FAILED_NO_REQUESTEDPERMISSION:
                    Toast.makeText(activity, "Installation failed. Plugin app has too permissions.\n", Toast.LENGTH_SHORT).show();
                    break;
                case INSTALL_FAILED_NOT_SUPPORT_ABI:
                    Toast.makeText(activity, "No supported ABI.\n", Toast.LENGTH_SHORT).show();
                    break;
                case INSTALL_SUCCEEDED:
                    Toast.makeText(activity, "Instalation ok", Toast.LENGTH_SHORT).show();
                    PackageManager pm = activity.getPackageManager();
                    Intent intent = pm.getLaunchIntentForPackage(info.packageName);
                    if (intent != null) {
                        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        startActivity(intent);
                    } else {
                        Log.e(TAG, "pm " + pm.toString() + " no find intent " + info.packageName);
                    }
                    break;
            }
        } catch (RemoteException e) {
            e.printStackTrace();
        }
    }

}

AndroidManifest.xml

 <application android:name="com.morgoo.droidplugin.PluginApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/MyTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/MyTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

How can I solve this problem?

Thank you

totoR13 avatar Feb 15 '21 10:02 totoR13