用Android studio运行海外极光推送engagelab安卓的SDK打apk安装包

发布于:2025-09-07 ⋅ 阅读:(21) ⋅ 点赞:(0)

背景

由于海外极光推送engagelab没有国内这种可以直接下载demo的安装包,需要我们用Android studio运行下载的SDK里面example项目文件打出安装包。

  • 国内极光demo下载路径
    在这里插入图片描述

  • 海外极光推送engagelab安卓的SDK下载路径(登录平台->开通AppPush功能->新建应用)
    在这里插入图片描述

运行项目

  1. 解压下载的sdk压缩包

  2. 打开Android studio选择导入example文件夹
    在这里插入图片描述

  3. 等待Android studio识别到项目后同步gradle,项目同步会遇到很多问题,详见问题排坑

  4. 项目同步成功后如果能成功运行,那么就可以打apk包了,在 Android Studio 中点击 Build → Build Bundle(s) / APK(s) → Build APK(s) 后,生成的 APK 文件 默认存放路径在<你的项目根目录>/app/build/outputs/apk/<构建变体>/

  5. 记得将包名和appkey改成你创建的应用对应的值
    在这里插入图片描述

验证应用

  1. 将apk安装到测试机上,联网后打开app,将获取的注册id(rid)
    在这里插入图片描述

  2. 将注册id填到创建的应用控制台中,创建推送通知信息
    在这里插入图片描述

  3. 点击推送,app将会收到我们配置的信息
    在这里插入图片描述

问题排坑

  1. java的jdk版本不一致,需要配置成正确的版本,我的是11
  • settings->build tools->gradle
    在这里插入图片描述

  • 模块级build.gradle文件中
    在这里插入图片描述

  1. 由于网络问题导致 Gradle 从官方源和 Maven 官方仓库下载依赖包。下载失败,国内访问官方源经常会出现连接超时的情况。需要在项目级build.gradle文件和全局配置文件gradle-wrapper.properties中换阿里镜像。
  • 报错信息
Could not install Gradle distribution from 'https://services.gradle.org/distributions/gradle-6.5-all.zip'.
Reason: java.net.SocketTimeoutException: Connect timed out
  • 打开你项目根目录下的 build.gradle(项目级),找到 repositories 配置,添加或替换为国内镜像源:
    在这里插入图片描述
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        // 使用阿里云镜像
        maven { url 'https://maven.aliyun.com/repository/central' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        google()
        mavenCentral()
        // huawei push need
        maven { url 'https://developer.huawei.com/repo/' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2'
        // google push need,and google push need AndroidX
        classpath 'com.google.gms:google-services:4.3.15'
        // huawei push need
        classpath 'com.huawei.agconnect:agcp:1.6.0.300'

    }
}

allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/central' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        google()
        mavenCentral()
        // huawei push need
        maven { url 'https://developer.huawei.com/repo/' }
    }
}
  • 打开项目根目录下的文件:gradle/wrapper/gradle-wrapper.properties,将其修改为国内镜像地址
    在这里插入图片描述
#Mon Dec 07 16:34:01 CST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.6.1-all.zip
#distributionUrl=https\://srvices.gradle.org/distributions/gradle-6.5-all.zip
  1. 可能会遇到关于 R8(代码混淆) 的报错,R8(代码混淆) 的配置或依赖未正确解析时,会导致任务创建失败。因为sdk中用的是 Gradle 6.5,这个版本较旧,可能与我的jdk11不兼容,需要升级,需要修改Gradle为7.6.1和Android Gradle Plugin (AGP)为7.4.2
  • 报错信息
Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'.
Could not create task ':app:minifyDebugWithR8'.
Cannot query the value of this provider because it has no value available.
Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'.
Could not create task ':app:minifyReleaseWithR8'.
Cannot query the value of this provider because it has no value available.
  • 修改 gradle/wrapper/gradle-wrapper.properties:
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.6.1-all.zip

在这里插入图片描述

  • 修改项目根目录 build.gradle:
classpath 'com.android.tools.build:gradle:7.4.2'

在这里插入图片描述
总是就是你的jdk,Gradle和Android Gradle Plugin (AGP)三者的版本需要兼容
6. Failed to find Platform SDK with path: platforms;android-30,这个错误的意思是:当前项目把 compileSdkVersion 设成了 30,但你的电脑里并没有下载 Android 30(即 Android 11)对应的 Platform SDK,所以编译器找不到 android-30 的 android.jar。
解决方法
(1)打开 Android Studio。
(2)点击菜单栏 Tools → SDK Manager(或 File → Settings → Appearance & Behavior → System Settings → Android SDK)。
(3)进入 SDK Platforms 标签页。
(4)勾选右侧 Show Package Details。
(5)在列表中找到 Android 11.0 ®,勾选 Android 11.0 ® → Android SDK Platform 30。
(6)点击 Apply 或 OK,等待下载完成即可 。
在这里插入图片描述
7. 解决完问题,同步并重新构建项目

  • 回到 Android Studio,点击 File → Sync Project with Gradle Files。
  • 然后再执行 Build → Rebuild Project。

网站公告

今日签到

点亮在社区的每一天
去签到