com.alipay.apmobilesecuritysdk.face.APSecuritySdk$RunningTask$1: can't find superclass or interface

支付宝混淆时报错:

Proguard returned with error code 1. See console
Note: there were 341 duplicate class definitions.
Warning: com.alipay.apmobilesecuritysdk.face.APSecuritySdk$RunningTask$1: can't find superclass or interface com.taobao.dp.client.IInitResultListener
Warning: com.alipay.apmobilesecuritysdk.face.APSecuritySdk: can't find referenced class com.taobao.dp.DeviceSecuritySDK
Warning: com.alipay.apmobilesecuritysdk.face.APSecuritySdk: can't find referenced class com.taobao.dp.DeviceSecuritySDK
Warning: com.alipay.apmobilesecuritysdk.face.APSecuritySdk: can't find referenced class com.taobao.dp.DeviceSecuritySDK
Warning: com.alipay.apmobilesecuritysdk.face.APSecuritySdk$RunningTask: can't find referenced class com.taobao.dp.DeviceSecuritySDK
 Warning: com.alipay.apmobilesecuritysdk.face.APSecuritySdk$RunningTask: can't find referenced class com.taobao.dp.DeviceSecuritySDK
Warning: com.alipay.apmobilesecuritysdk.face.APSecuritySdk$RunningTask: can't find referenced class com.taobao.dp.DeviceSecuritySDK
Warning: com.alipay.apmobilesecuritysdk.face.APSecuritySdk$RunningTask: can't find referenced class com.taobao.dp.DeviceSecuritySDK
Warning: com.alipay.apmobilesecuritysdk.face.APSecuritySdk$RunningTask$1: can't find referenced class com.taobao.dp.client.IInitResultListener
     You should check if you need to specify additional program jars.
Warning: there were 9 unresolved references to classes or interfaces.
       You may need to specify additional library jars (using '-libraryjars').
java.io.IOException: Please correct the above warnings first.
at proguard.Initializer.execute(Initializer.java:321)
at proguard.ProGuard.initialize(ProGuard.java:211)
at proguard.ProGuard.execute(ProGuard.java:86)
at proguard.ProGuard.main(ProGuard.java:492)


解决方案  :

在proguard_project.txt中加入红色内容

-libraryjars libs/alipaySDK-20151014.jar
-keep class com.alipay.android.app.IAlixPay{*;}
-keep class com.alipay.android.app.IAlixPay$Stub{*;}
-keep class com.alipay.android.app.IRemoteServiceCallback{*;}
-keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
-keep class com.alipay.sdk.app.PayTask{ public *;}
-keep class com.alipay.sdk.app.AuthTask{ public *;}
-keep class com.alipay.mobilesecuritysdk.*
-dontwarn com.alipay.apmobilesecuritysdk.face**
-keep class com.alipay.apmobilesecuritysdk.face.**{*;}
-keep class com.ut.*

要打开另一个App并且监测它的运行情况,可以使用Android的PackageManager和ActivityManager类。可以使用PackageManager中的getLaunchIntentForPackage()方法获取要打开的App的Intent,然后使用startActivity()方法启动该Intent以打开该应用程序。接着,可以使用ActivityManager中的getRunningTasks()方法获取当前正在运行的任务列表,以找到刚刚启动的应用程序。如果该应用程序在列表中,则可以确定它正在运行。 需要注意的是,由于Android 5.0之后的版本做了安全限制,不允许直接获取其他应用程序的运行状态,因此需要在AndroidManifest.xml文件中添加相应的权限才能获取其他应用程序的运行状态。具体操作可以参考以下代码示例: ```java // 获取要打开的应用程序的Intent Intent intent = getPackageManager().getLaunchIntentForPackage("com.example.anotherapp"); startActivity(intent); // 获取当前正在运行的任务列表 ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> runningTasks = activityManager.getRunningTasks(Integer.MAX_VALUE); // 遍历任务列表,查找刚刚启动的应用程序 for (ActivityManager.RunningTaskInfo runningTask : runningTasks) { if (runningTask.topActivity.getPackageName().equals("com.example.anotherapp")) { // 刚刚启动的应用程序正在运行 // 可以在此处进行进一步的操作 break; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值