你遇到的问题有两个层面:
namespace 不一致导致合并冲突android:allowBackup 属性冲突# 打开环境变量设置
# 系统属性 → 高级 → 环境变量
# 添加或修改:
JAVA_HOME = C:\Program Files\Eclipse Adoptium\jdk-11.0.xx-hotspot
# 更新 Path,添加:
%JAVA_HOME%\bin
java -version
# 应该显示:openjdk version "11.0.xx"
.\gradlew clean assembleApp_bbengDebug
build.gradle(根目录):
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:7.4.2' // 推荐版本
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.10'
}
}
app/build.gradle:
android {
compileSdkVersion 33
buildToolsVersion '33.0.0'
namespace 'com.YuyeTech.HeartRate' // ← 支持 namespace
defaultConfig {
minSdkVersion 21
targetSdkVersion 32
// ...
}
}
如果你坚持使用 Java 8,需要使用旧版本的 AGP:
build.gradle(根目录)buildscript {
repositories {
google()
// jcenter() // ← 移除,已废弃
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/public' }
mavenCentral() // ← 添加
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.2' // Java 8 最后支持版本
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21'
}
}
allprojects {
repositories {
google()
// jcenter() // ← 移除
maven { url = uri("https://jitpack.io") }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/public' }
mavenCentral() // ← 添加
}
}
app/build.gradleandroid {
compileSdkVersion 30 // AGP 4.2.2 最高支持 30
buildToolsVersion '30.0.3'
// ❌ 不支持 namespace,必须在 AndroidManifest.xml 中使用 package
defaultConfig {
minSdkVersion 21
targetSdkVersion 30 // 也需要降低
applicationId "com.YuyeTech.HeartRate"
// ...
}
}
AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.YuyeTech.HeartRate"> <!-- ← 必须添加 package -->
<application
android:name="com.YuyeTech.HeartRate.MyApplication"
android:allowBackup="true"
android:allowClearUserData="true"
tools:replace="android:allowBackup,android:allowClearUserData">
...
</application>
</manifest>
myLockView/src/main/AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 所有 receiver 和 service 都在主 app 的 Manifest 中声明 -->
</manifest>
如果你现在无法安装 Java 11,执行以下修改:
# 1. 备份当前文件(可选)
# 2. 我已经帮你修改了以下文件:
# - build.gradle
# - app/build.gradle
# - app/src/main/AndroidManifest.xml
# - myLockView/src/main/AndroidManifest.xml
# 3. 清理并编译
.\gradlew clean assembleApp_bbengDebug
4.2.2(Java 8 兼容)1.8.10namespacepackage="com.YuyeTech.HeartRate"android:allowBackup="true"tools:replace="android:allowBackup"<application> 内容(避免重复)namespace(更好的模块化)我已经按照方案 B(Java 8 兼容)修改了你的配置。
现在请尝试编译:
.\gradlew clean
.\gradlew assembleApp_bbengDebug
如果还有错误,请提供完整的错误信息。
强烈建议升级到 Java 11!
这样做的好处:
安装 Java 11 只需要 5 分钟,但能节省大量后续的配置时间。
创建时间:2026-01-22
适用场景:Manifest merger 错误、Java 版本问题