レガシープロジェクトをEclipseからAndroid studioに移行しています。次のことを行いました。
プロジェクトのルートフォルダーに3つのライブラリプロジェクトが含まれています:Actionbarsherlock、Authbahnおよびlibrary。ルートフォルダーにはJohelpenHulpverlenerというメインプロジェクトも含まれています。
多くのエラーを解決した後、次のエラーが表示されます。
Error:A problem was found with the configuration of task ':checkDebugManifest'.
> File 'C:\Android\jeugdformaat\JohelpenHulpverlener\AndroidManifest.xml' specified for property 'manifest' does not exist.
ルートbuild.gradleは次のようになります。
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.Android.tools.build:gradle:0.9.+'
}
}
apply plugin: 'Android'
dependencies {
compile files('libs/Android-support-v4.jar')
compile project(":actionbarsherlock")
}
Android {
compileSdkVersion 17
buildToolsVersion "19.0.3"
defaultConfig {
minSdkVersion 10
targetSdkVersion 19
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
Java.srcDirs = ['src']
resources.srcDirs = ['src']
res.srcDirs = ['res']
}
}
}
メインプロジェクトのbuild.gradleは次のようになります。
apply plugin: 'Android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':library')
compile project(':actionbarsherlock')
compile project(':autobahn')
}
Android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
Java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
// Move the tests to tests/Java, tests/res, etc...
instrumentTest.setRoot('tests')
// Move the build types to build-types/<type>
// For instance, build-types/debug/Java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
私はこれを理解しようとしています、うまくいけば誰かがここで私を助けることができます!
ルートレベルのGradleビルドファイルにたくさんのものがあり、ビルドシステムにAndroidモジュールがあると思わせます(それはありません。これは内部のサブディレクトリです) JohelpenHulpverlener)、そしてそれはマニフェストを見つけていないので失敗しています。
ルートレベルからたくさんのものを取り出したら build.gradle ファイルし、それを新しいプロジェクトのデフォルトバージョンに置き換えます。これは次のとおりです。
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.Android.tools.build:gradle:0.9.+'
}
}
allprojects {
repositories {
mavenCentral()
}
}
それが動作します。
EclipseプロジェクトをAndroid studioに移行するときに同じ問題が発生しました。問題は、Android studioによって作成されたルートGradleビルドファイルが間違っており、このような :
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:1.2.3'
}
}
allprojects {
repositories {
jcenter()
}
}
更新:問題はAndroid Studioの最新バージョン1.4、EclipseプロジェクトをStudioに簡単にインポートできるようになりましたで修正されたようです==
build.gradleファイルで、次のようにパッケージ名を指定します
Android {
compileSdkVersion 19
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.myapp"
minSdkVersion 11
targetSdkVersion 19
versionCode 27
versionName "1.5.6"
}
}
applicationId "com.myapp"
ここで、「com.myapp」はアプリのパッケージ名です。これがお役に立てば幸いです。
このように外側にタグがあることを確認してください:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.example"
Android:versionCode="1"
Android:versionName="1.0" >
...
</manifest>
Build-> Rebuildで解決しました。