程序类型已经存在:com.paytm.pg.AppTest

时间:2019-03-06 20:08:30

标签: android gradle

我有两个我的应用程序依赖的二进制库A和B。它们都碰巧声明了一个公共类CTest,这会导致名义错误。有什么办法可以解决这个问题吗?我在这里遇到了许多标题相同的问题,但是其中大多数只是提供了删除一个依赖项之类的选项,这对我来说不是一个选择。

谢谢您的任何提前答复

4 个答案:

答案 0 :(得分:2)

我希望您正在进行paytm付款集成,如果可以的话,您可以删除Checksum Jar。如果是Android,则不必使用jar。仅使用gradle依赖项(com.paytm:pgplussdk:1.3.3'),然后进行检查。

答案 1 :(得分:0)

没有.jar CheckSumServiceHelper不会导入

CheckSumServiceHelper.getCheckSumServiceHelper().genrateCheckSum

答案 2 :(得分:0)

您可以使用以下链接来检查所使用平台的依赖性: maven link

此外,当您尝试使用为Android中的Java应用程序制作的jar时,会发生此问题。我知道通常我们应该能够使用它,但是以某种方式,如果我们不能在Android中使用PaytmChecksum.jar。可能从未对此进行过测试和制造。您需要创建一个Java应用程序,然后在其中使用该jar。

答案 3 :(得分:0)

我遇到的一个类似问题是我从这里下载了jar文件。

Paytm_Web_Sample_Kit_Java

但是,如果您正在为Android应用程序执行此操作,则应该使用

Paytm_Google_App_Engine_Kit

因此,只需删除从上一个链接下载的旧jar文件,然后将其替换为google app引擎jar文件

注意:您应该像这样生成校验和字符串

TreeMap<String,String> parameters = new TreeMap<String,String>();
String merchantKey = "xxxxxxxxxxxxxxxxx"; //Key provided by Paytm
parameters.put("MID", "xxxxxxxxxxxxxxxxxxxxxx"); // Merchant ID (MID) provided by Paytm
parameters.put("ORDER_ID", "nnnnnnnnn"); // Merchant’s order id
parameters.put("CUST_ID", "CUST001"); // Customer ID registered with merchant
parameters.put("TXN_AMOUNT", "1");
parameters.put("CHANNEL_ID", "WEB");
parameters.put("INDUSTRY_TYPE_ID", "Retail"); //Provided by Paytm
parameters.put("WEBSITE", "xxxxxxxxxxx"); //Provided by Paytm
//Note: Above mentioned parameters are not complete list of parameters. Please refer integration document for additional parameters which need to be passed.
String checkSum = checkSumServiceHelper.genrateCheckSumGAE(merchantKey, parameters);

尽管它修复了该错误,但是您仍然需要从以下位置创建校验和 服务器,即您不应该将其放在应用程序内