目录

在Eclipse项目中集成HMS Core SDK

下载SDK

  1. 请下载Analytics Kit SDK及其依赖的SDK Eclipse工程包,并解压压缩包。下载地址请参见Android SDK下载。
    • “analyticssdk-eclipse-{version}”和“hmssdk-eclipse-{version}”压缩包中同时包含Agconnect-core文件夹,请使用“analyticssdk-eclipse-{version}”压缩包中的Agconnect-core文件夹。
    • “opendevicesdk-eclipse-{version}”和“hmssdk-eclipse-{version}”压缩包中同时包含Security-encrypt、Security-ssl文件夹,请使用“hmssdk-eclipse-{version}”压缩包中的Security-encrypt、Security-ssl文件夹。
  2. 请从官方网站自行下载Analytics Kit间接依赖的第三方开源jar包,具体如下表所示。

    第三方开源软件名称

    版本号

    说明

    okhttp

    3.11.0

    Analytics Kit间接依赖的第三方开源jar包,必须集成。

    okio

    1.14.0

    okhttp-3.11.0依赖的jar包,必须集成。

    greendao

    3.3.0

    HUAWEI Analytics Kit依赖的第三方开源jar包,必须集成。

    greendao-api

    3.3.0

    greendao-3.3.0依赖的jar包,必须集成。

  3. 选择菜单“File > Import” ,将所有SDK工程导入到您的工作空间。
    1. 选择“Android > Existing Android Code Into Workspace”,点击“Next”。

    2. 点击“Browse”,选择工程所在的文件夹目录,在“Projects”下显示待导入的工程,默认全部勾选,点击“Finish”。
      • 待导入的工程必须和工作空间在相同的磁盘空间里,例如都在“D:\”。如果不在,您可以选择“Copy projects into workspace”,将工程文件复制到工作空间。
      • analyticssdk-eclipse-{version}解压缩后的Datastore-annotation文件夹中提供的是jar包,不是SDK子工程,不需要导入。
      • 由于Eclipse的“xml”文件不⽀持$符号,请分别将Agconnect-core、HMSSdkAvailableUpdate、HMSSdkOpendevice、HMSSdkAnalytics、HMSSdkDevice和Update这六个子工程下“AndroidManifest.xml”文件中的“${ApplicationId}”替换为您的应用包名。替换完成后使用Ctrl+S保存所有文件的修改。
  4. 添加依赖jar包。
    1. 右键点击您的工程,选择“Build Path > Configure Build Path”。
    2. 在弹出窗口左侧选择“Java Build Path > Libraries > Add External JARs”。

    3. 在弹出窗口依次添加:okhttp-3.11.0.jar、okio-1.14.0.jar、greendao-3.3.0.jar和greendao-api-3.3.0.jar,以及analyticssdk-eclipse-{version}解压缩后的“Dependencies-jar”文件夹中的五个jar包。添加完九个jar包后点击“Apply”。

    4. 点击“Order and Export”页,依次勾选如下九个jar包,最后点击“Apply and Close”完成添加。

添加工程依赖关系

  1. 右键点击您的工程,选择“Properties”。
  2. 在左侧选择“Android”,点击“Add”,选择已导入空间的工程,点击“Apply and Close”。

  3. 右键点击HMSSdkAvailableUpdate工程,选择“Properties”。
  4. 在左侧选择“Android”,点击“Add”,选择HMSSdkUI工程,点击“Apply and Close”。

拷贝资源文件到您的工程目录

由于Eclipse不能自动合并assets目录,请手动将子工程assets文件夹里的文件拷贝您的工程中assets目录下,需要拷贝的资源文件如下表所示。

子工程

资源文件

HMSSdkOpendevice

grs_sdk_global_route_config_opendevicesdk.json

HMSSdkStats

grs_sdk_global_route_config_opensdkService.json

Security-ssl

hmsrootcas.bks,hmsincas.bks

Network-grs

grs_sdk_server_config.json,grs_sp.bks

Update

updatesdkcas.bks,grs_sdk_global_route_config_updatesdk.json,grs_sdk_global_route_config_apptouchupdatesdk.json

如果存在重复的资源文件,请选择覆盖。

修改工程配置

  1. 配置工程project.properties文件,在您的工程目录中找到project.properties文件并打开,添加如下代码,用于合并子工程中的AndroidManifest.xml文件。
    manifestmerger.enabled=true

    ADT必须是17以上版本。

  2. 工程打包合并时,Agconnect-core和Agconnect-credential子工程的AndroidManifest.xml中的service模块不能重复合并,需要手动删除Agconnect-core子工程AndroidManifest.xml文件中的如下代码。
    <service
                android:name="com.huawei.agconnect.core.ServiceDiscovery"
                android:exported="false" />

添加AppGallery Connect配置文件

  1. 登录AppGallery Connect 网站 ,选择“我的项目”。
  2. 点击需要配置的应用。
  3. 选择“项目设置 > 常规”区域配置文件。

  4. 由于Eclipse不支持agcp插件,您需要将agconnect-services.json文件放置到您的工程assets目录下,并且在工程的Application子类中添加如下代码。如果工程没有Application子类,则需要您新建一个从Application继承的子类,例如新建MyApplication类。
    public class MyApplication extends Application{
        // TODO: 添加如下代码
        @Override
        public void onCreate() {
            super.onCreate();
            try {
                AGConnectOptionsBuilder builder = new AGConnectOptionsBuilder();
                builder.setInputStream(getAssets().open("agconnect-services.json"));
                AGConnectInstance.initialize(this, builder);
            } catch (IOException e) {
                // 异常日志打印
            }
        }               
    }

    添加代码后需要导入以下类:

    import java.io.IOException;
    import java.io.InputStream;
    import com.huawei.agconnect.config.AGConnectServicesConfig;
    import com.huawei.agconnect.config.LazyInputStream;
    import android.app.Application;
    import android.content.Context;
    import android.util.Log;
  5. 打开您的工程AndroidManifest.xml文件,在“application”模块中添加Application子类名称,如果已经添加,则跳过此步骤。例如,添加MyApplication类名称。
    <application
        android:name=".MyApplication"
        …
        >
    </application>
  6. 在Eclipse菜单栏中点击“Project”,执行“Clean”操作,即完成SDK集成。

配置混淆脚本

编译APK前需要配置,不要混淆Analytics Kit,避免功能异常。

打开Eclipse工程的混淆配置文件“proguard-project.txt”,加入排除Analytics Kit的混淆配置。
-keep class com.huawei.updatesdk.**{*;} 
-keep class com.huawei.hms.**{*;} 
-keep class com.huawei.agconnect.**{*;} 
-keep interface com.huawei.hms.analytics.type.**{*;}