【问题标题】:Library cannot have applicationId, and cannot find package name in AndroidManifest.xml库不能有 applicationId,在 AndroidManifest.xml 中找不到包名
【发布时间】:2018-03-11 11:40:42
【问题描述】:

我正在尝试将一个旧的 maven 项目迁移到 gradle,因为谷歌显然决定在今年早些时候放弃对旧构建方法的支持。

我已经移动了大部分库,但是我遇到了一个不在“jar”文件中的库项目的问题;

我的根目录中有这个 settings.gradle;

include ':app'
include ':ZBarScannerLibrary'

它可以识别 ZBarScannerLibrary,我已经在 ZBarScannerLibrary/build.gradle 中设置了这个 gradle 版本;

apply plugin: 'com.android.library'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 25
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile files('libs/zbar.jar')
}

当我尝试构建应用时,它说

错误:无法从 ./ZBarScannerLibrary/src/main/AndroidManifest.xml 读取 packageName

我觉得很好,我在构建 gradle 中添加了一个 applicationId; applicationId "com.dm.zbar.android.scanner"

相反,我现在看到了错误消息;

错误:配置项目“:ZBarScannerLibrary”时出现问题。 库项目不能设置 applicationId。 applicationId 在默认配置中设置为 'com.dm.zbar.android.scanner'。

因此,如果我将 applicationId 留在 gradle 之外,它会抱怨它无法读取包名,如果我告诉它包名,它会说库不能有 applicationId。

我做错了什么?

【问题讨论】:

    标签: android maven gradle migrate


    【解决方案1】:

    您可以通过包含请求的 AndroidManifest.xml 文件 ./ZBarScannerLibrary/src/main/AndroidManifest.xml 来解决此问题,其中包含以下内容:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="pkg.zbar.blah" />

    【讨论】:

    • 我遇到了同样的问题,但错误仍然存​​在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    • 2018-07-12
    • 1970-01-01
    • 2022-08-06
    • 1970-01-01
    相关资源
    最近更新 更多