将本地.aar文件添加到Titanium SDK 9 Android模块

问题描述

我正在使用Titanium SDK 9创建一个Android模块。我需要在模块中包含2个.aar文件。根据文档,您不能再将它们添加lib目录中:

“对于Titanium 6.1.1-8.3.1,您还可以将AAR(Android存档)库文件复制到模块的lib目录。但是,从Titanium 9.0.0开始@R_502_6289@此功能,这要求您引用这些文件。而是通过build.gradle文件访问AAR库。”

但是如何正确引用它们?我的build.gradle文件的以下配置可以编译,但是当我使用该模块时,当我使用某些.aar文件类时,会立即看到并显示诸如“ Lpolar / com / sdk / api / PolarBleApiDefaultImpl的失败分辨率”之类的错误

implementation files('../../libs/polar-ble-sdk.aar')
implementation files('../../libs/polar-protobuf-release.aar')
// Below 2 lines also compile
// compile files('../../libs/polar-ble-sdk.aar')
// compile files('../../libs/polar-protobuf-release.aar')
implementation group: 'commons-io',name: 'commons-io',version: '2.4'
implementation 'com.google.protobuf:protobuf-java:3.1.0'
implementation 'io.reactivex.rxjava2:rxjava:2.1.5'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'

我试图在Titanium项目中执行的呼叫导致错误

import polar.com.sdk.api.PolarBleApi;
import polar.com.sdk.api.PolarBleApiDefaultImpl;

// and then later on

PolarBleApi api = PolarBleApiDefaultImpl.defaultImplementation(this,PolarBleApi.FEATURE_HR);

解决方法

https://github.com/polarofficial/polar-ble-sdk

建立了图书馆

使用此build.gradle

repositories {
       maven { url "https://oss.jfrog.org/libs-snapshot" }
   }


dependencies {
    implementation files('../../libs/polar-ble-sdk.aar')
    implementation files('../../libs/polar-protobuf-release.aar')
    implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
    implementation 'io.reactivex.rxjava3:rxjava:3.0.0'
}

工作正常。使用import polar.com.sdk.api.PolarBleApi;或通过Android Studio自动完成都没有问题。 编译工作正常(但最后我没有在Titanium中尝试该模块)。

编辑:

  • 也将build.gradle添加到您的应用中:platform/android/build.gradle(内容相同)
  • 应用程序:创建/build/libs并添加库
  • 模块:
    @Kroll.method
    public void create()
    {
        PolarBleApi api = PolarBleApiDefaultImpl.defaultImplementation(TiApplication.getAppCurrentActivity(),PolarBleApi.FEATURE_HR);
        Log.i("Polar","Version: " + PolarBleApiDefaultImpl.versionInfo());
    }
  • 应用程序:
var window = Ti.UI.createWindow({
    title: "Test"
});
var polar = require("ti.polar");

polar.create();

window.open();

输出:[INFO] Polar: (main) [92,92] Version: 2.2.2