库不能有applicationId,也无法在AndroidManifest.xml中找到包名

时间:2017-09-29 14:27:34

标签: android maven gradle migrate

我正在尝试将旧的maven项目迁移到gradle,因为Google显然决定在今年之前放弃对旧构建方法的支持。

我已经移动了大部分库但是我遇到了一个不在“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。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

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

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