【问题标题】:error: package org.xwalk.core does not exist Android Studio & Gradle错误:包 org.xwalk.core 不存在 Android Studio & Gradle
【发布时间】:2015-03-19 22:07:21
【问题描述】:

过去 2 天,我和一位同事一直被这个问题困扰。我们必须将 CrossWalk 集成到我们使用 Cordova 构建的 Android Studio 项目中。

我们的结构设置标准方式如下:

我们的应用程序设置的 build.gradle 文件如下:

import java.util.regex.Pattern

apply plugin: 'android'

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'
    }
}

ext.multiarch=false

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    for (subproject in getProjectList()) {
        compile project(subproject)
    }
}

android {
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }
    defaultConfig {
    }
    compileSdkVersion 19
    buildToolsVersion "19.1.0"
    if (multiarch || System.env.BUILD_MULTIPLE_APKS) {
        productFlavors {
            armv7 {
                versionCode defaultConfig.versionCode + 2
                ndk {
                    abiFilters "armeabi-v7a", ""
                }
            }
            x86 {
                versionCode defaultConfig.versionCode + 4
                ndk {
                    abiFilters "x86", ""
                }
            }
            all {
                ndk {
                    abiFilters "all", ""
                }
            }
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    productFlavors {
    }
}

task wrapper(type: Wrapper) {
    gradleVersion = '1.10'
}

def getVersionCodeFromManifest() {
    def manifestFile = file(android.sourceSets.main.manifest.srcFile)
    def pattern = Pattern.compile("versionCode=\"(\\d+)\"")
    def matcher = pattern.matcher(manifestFile.getText())
    matcher.find()
    return Integer.parseInt(matcher.group(1))
}

def getProjectList() {
    def manifestFile = file("project.properties")
    def pattern = Pattern.compile("android.library.reference.(\\d+)\\s*=\\s*(.*)")
    def matcher = pattern.matcher(manifestFile.getText())
    def projects = []
    while (matcher.find()) {
      projects.add(":" + matcher.group(2).replace("/",":"))
    }
    return projects
}

我们项目的settings.gradle文件如下:

import java.util.regex.Pattern

def getProjectList() {
    def manifestFile = file("project.properties")
    def pattern = Pattern.compile("android.library.reference.(\\d+)\\s*=\\s*(.*)")
    def matcher = pattern.matcher(manifestFile.getText())
    def projects = []
    while (matcher.find()) {
      projects.add(":" + matcher.group(2).replace("/",":"))
    }
    return projects
}

for (subproject in getProjectList()) {
    include subproject
}

include ':'

项目属性文件是:

#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=android-21
android.library.reference.1=CordovaLib

CordovaLib 的 build.gradle 文件设置如下:

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'
    }
}

apply plugin: 'android-library'

android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }
}

我只能找到一个问题,他们的解释是关于向我们的 gradle 文件添加依赖项(这些都不起作用)。如果您知道我们遗漏或忽略了什么,我们非常感谢您精湛的专业知识!

【问题讨论】:

  • 哪个版本的人行横道?版本 11+ 需要 API 级别 21 而不是 19。
  • 是的,问题是它根本找不到 org.xwalk。 API 级别不是问题

标签: android cordova android-studio gradle crosswalk-runtime


【解决方案1】:

您似乎错误地包含了 cordova 项目。见:How do I add a library project to Android Studio?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    • 2016-08-14
    • 2014-12-12
    相关资源
    最近更新 更多