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

Add local .aar files to Titanium SDK 9 Android module

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

“使用 Titanium 6.1.1 - 8.3.1,您还可以将 AAR(Android 存档)库文件复制到模块的 lib 目录。但是,从 Titanium 9.0.0 开始不支持此操作,这要求您改为通过 build.gradle 文件引用这些 AAR 库。"

但是我该如何正确引用它们呢?我的 build.gradle 文件的以下配置可以编译,但是当我使用该模块时,当我使用一些 .aar 文件 类:[=14= 时,我会立即看到 'Failed resolution of: 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'
}

工作正常。在 Android Studio 中使用 import polar.com.sdk.api.PolarBleApi; 或 auto-completion 没问题。 编译工作正常(但我最后没有在 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