AIDE是一款安卓版的Android Studio,可以直接在安卓设备上编写安卓程序,无需使用Windows或Mac或Ubuntu电脑。这里推荐这一款AIDEPro,地址:AIDEPro。这款AIDE不仅支持普通安卓程序开发,还可以导入额外的JAR,支持Maven,Aapt,Gradle等。
在编写一个安卓程序时,我们很多时候,需要导入一些AAR库,来让安卓程序支持某些厂商的设备特定的API,且界面符合要求。例如,OPPO手表程序开发社区规定:开发的安卓手表程序,如要上传至OPPO手表应用商店,必须在开发时使用OPPO给定的AAR库。这些库里有OPPO手表的标准UI控件,且有一些OPPO手表的Color OS专属的API。否则,可能无法在OPPO手表上正常运行,或运行效果不符合OPPO手表的常规人机交互方式,从而导致该应用在OPPO应用商店无法通过审核。
AIDE显然不是官方的Android Studio,所以不能用Android Studio的方式导入AAR文件。但也并非无法导入。在百度贴吧里有人提了如何导入,但说明不够清晰,不太易懂。见aide导入aar库教程
本文详细说明一下如何向安卓手机/平板上的AIDE导入AAR库。
AIDE导入AAR库是通过Maven。AIDE可以设置本地Maven库,指定一个文件夹的路径即可。步骤是:
- 先点右上角的三个点,选择More...,Settings。

- 在Settings里的Build & Run里,选择Local Maven repositories,里面设置本地的Maven目录。AAR文件就会从这里面找。

那么,这个目录应该怎么输入呢?
这里以一个OPPO手表的Heytap控件的AAR文件为例:
我们将这个AAR文件放在华为手机的这个文件夹里:

在此华为手机上,这个文件的目录位置是My phone/Compatible data/AideProjects/Libraries/OPPO/Heytap/7.0.18。注意它的文件名也是Heytap-7.0.18.aar,和目录的最后两节一致。这是规定,后面会再次提到。
但是要注意:这个目录在AIDE安卓程序上是不可能读出来的。因为当今的国行华为手机使用的系统是Harmony OS Next,并不是一个基于安卓的系统,而是华为自己开发的鸿蒙系统。安卓程序的运行是在一个容器里以兼容的方式运行的。那么,AIDE这个安卓程序是如何读取目录的呢?
我们可以在AIDE的文件管理器里找到这个文件,然后长按这个文件,点击Copy Path。

然后随便找个可以输入文本的地方,你会注意到弹出键盘的地方会显示你刚才复制的路径。

和前面的华为手机里的文件目录做个对比,会发现,/storage/emulated/0/的前缀用于代替/My phone/Compatible data/,之后都一致。也就是说,鸿蒙系统的华为手机把安卓容器里的东西放在了/My phone/Compatible data/里。显然,对于AIDE来说,能够读取的目录是以/storage/emulated/0/为前缀的安卓目录。
所以,在这里,我们就是把AAR文件放在/storage/emulated/0/AideProjects/Libraries/里。因此Local Maven repositories里应该写:

除此之外,建议启用Aapt2。在Advanced Settings,Experimental functions里。

除了要在全局设置里导入AAR以外,还要在具体的项目里导入这个AAR库。
新建一个AndroidX项目。然后在项目里的app里的build.gradle里(注意,是项目的app目录下,不是项目根目录下哦!),在dependencies里加一句implementation 'OPPO:Heytap:7.0.18'。

在这里说明一下:OPPO:Heytap:7.0.18表明从Local Maven repositories(即/storage/emulated/0/AideProjects/Libraries/)里进入OPPO/Heytap/7.0.18。与此同时,目录的最后两节(即Heytap和7.0.18)也代表了包名和版本。所以,文件的命名也必须为HeyTap-7.0.18.aar(即目录的最后两节,中间用-连接) ,否则系统无法读取。
此时刷新Maven,等待片刻,系统compile基本成功,但有个错误:

这里就把minSdkVersion改成24。不科学,但算个临时解决方案。