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

时间:2020-08-12 10:57:34

标签: android gradle titanium

我正在使用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文件类时,会立即看到并显示诸如“ 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);

1 个答案:

答案 0 :(得分:1)

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