最近在试着接入TrPay的sdk,根据它家文档需要导入它们的aar包(paysdk-release-1.2.2.aar)。

在AS中怎么给安卓项目导入aar包,网上搜一下就能看到无非也就下面三步:

1、把aar放到module里的libs目录下。新建安卓项目时,默认的模块名字是app,即放到app/libs/下。

2、在app的build.gradle中加入以下配置。

repositories {
flatDir {
dirs 'libs' // aar目录
}
}

3、在app的build.gradle中dependencies里加入aar引用。

compile(name: 'zbar-release', ext: 'aar')

坑点:上面build.gradle添加的两段代码都是添加到app模块中的build.gradle,而不是项目根目录的build.gradle中!!!

网上搜到了文章都没提到这一点,TrPay的接入文档里也没有说清楚这一点(如下图),写错位置了会报错。对于不熟悉安卓开发的同学,可能会莫名其妙掉到这个坑里。

报错:Could not find method compile() for arguments

Android Studio项目导入aar包报错-LMLPHP

因为根目录的build.gradle中默认已有repositories节点,而app的build.gradle中没有,我误以为这两段代码需要分开写到两个build.gradle中了。。。

现在用AS新建了一个安卓项目,并添加一个module取名mylibrary,并删除默认的app模块。项目目录如下。

Android Studio项目导入aar包报错-LMLPHP

Android Studio项目导入aar包报错-LMLPHP


参考:

Android Studio项目导入aar包报错-LMLPHP

04-02 14:59