4

Gradle を使用して単純な Android プロジェクトを作成するのに問題があります。私のビルドファイルは以下の通りです:

buildscript {
    repositories {
      mavenCentral()
      // To use a development snapshot version of the plugin, add the
      // Sonatype Snapshots repository.
      maven {
        url "https://oss.sonatype.org/content/repositories/snapshots"
      }
    }

    dependencies {
      classpath 'org.gradle.api.plugins:gradle-android-plugin:1.2.1'
    }
  }

  apply plugin: 'android'

  repositories {
      mavenCentral()
  }

  // Sets the package version
  version = "1.0.0"



  // Signing configuration, valid for all builds (1)
  androidSignAndAlign {
    keyStore = "path/to/my/keystore"
    keyAlias = "my-key-alias"
    keyStorePassword = "mystorepass"
    keyAliasPassword = "myaliaspass"
  }

  // Configure the filtering of resources with properties from the Gradle's project scope (2)
  processResources {
    expand (project.properties)
  }

  // Configure a dedicated debug build (3)
  task configureDebug << {
    jar.classifier = "debug"
  }

  // Configure a dedicated release build (4)
  task configureRelease << {
    proguard.enabled = true
  }

私が得るエラーはこれです:

  11:08:24.812 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
11:08:24.822 [ERROR] [org.gradle.BuildExceptionReporter]
11:08:24.829 [ERROR] [org.gradle.BuildExceptionReporter] * Where:
11:08:24.834 [ERROR] [org.gradle.BuildExceptionReporter] Build file 'C:\Users\Work\AndroidProjects\RssUnified\build.gradle' line: 114
11:08:24.840 [ERROR] [org.gradle.BuildExceptionReporter]
11:08:24.845 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong:
11:08:24.850 [ERROR] [org.gradle.BuildExceptionReporter] A problem occurred evaluating root project 'RssUnified'.
11:08:24.855 [ERROR] [org.gradle.BuildExceptionReporter] > For input string: "21 rc11"
11:08:24.864 [ERROR] [org.gradle.BuildExceptionReporter]
11:08:24.870 [ERROR] [org.gradle.BuildExceptionReporter] * Exception is:
11:08:24.875 [ERROR] [org.gradle.BuildExceptionReporter] org.gradle.api.GradleScriptException: A problem occurred evaluating root project 'RssUnified'.
11:08:24.880 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFac
tory.java:54)
11:08:24.885 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.jav
a:127)

グラドル1.2を使用

編集:ここに私のレイアウトxmlファイルがあります

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

</RelativeLayout>

そして活動内容はこちら

public class RssListActivity extends Activity {

    /*
     * (non-Javadoc)
     * @see android.app.Activity#onCreate(android.os.Bundle)
     */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list_activity_layout);
    }

}

以下のプロジェクト構造:

├───.gradle
│   └───1.2
│       └───taskArtifacts
├───assets
├───bin
│   ├───classes
│   │   └───com
│   │       ├───jr
│   │       │   ├───screenLogic
│   │       │   └───screens
│   │       └───richy
│   │           └───rssunified
│   └───res
├───build
│   └───gen
│       └───com
│           └───richy
│               └───rssunified
├───gen
│   └───com
│       └───richy
│           └───rssunified
├───res
│   ├───drawable-hdpi
│   ├───drawable-ldpi
│   ├───drawable-mdpi
│   ├───drawable-xhdpi
│   ├───layout
│   ├───values
│   ├───values-v11
│   └───values-v14
└───src
    └───com
        └───jr
            ├───screenLogic
            └───screens

プロジェクトのルートフォルダにあるものは次のとおりです

AndroidManifest.xml  assets  bin  build  build.gradle  gen  gradle.properties  ic_launcher-web.png  local.properties  project.properties  res  src

最後に Android マニフェスト:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.richy.rssunified"
    android:versionCode="1"
    android:versionName="1.0">

    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" />

    <application android:label="@string/app_name"
        android:icon="@drawable/ic_launcher"
        android:theme="@style/AppTheme">

    </application>

</manifest>

Local.properties

sdk.dir = C:/Program Files (x86)/Android/android-sdk

プロジェクトのプロパティ

# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

# Project target.
target=android-15

編集:

私はadt/sdkプラグインの古いバージョンに戻し、上記の問題を修正することができましたが、それを行った後、以下の上記のエラーが発生しました:

15:24:24.558 [LIFECYCLE] [org.gradle.TaskExecutionLogger] :androidProcessResources FAILED
15:24:24.571 [ERROR] [org.gradle.BuildExceptionReporter]
15:24:24.575 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
15:24:24.582 [ERROR] [org.gradle.BuildExceptionReporter]
15:24:24.588 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong:
15:24:24.597 [ERROR] [org.gradle.BuildExceptionReporter] Execution failed for task ':androidProcessResources'.
15:24:24.602 [ERROR] [org.gradle.BuildExceptionReporter] > Unexpected internal error near index 1
15:24:24.607 [ERROR] [org.gradle.BuildExceptionReporter]   \
15:24:24.613 [ERROR] [org.gradle.BuildExceptionReporter]    ^
15:24:24.621 [ERROR] [org.gradle.BuildExceptionReporter]
15:24:24.626 [ERROR] [org.gradle.BuildExceptionReporter] * Exception is:
15:24:24.631 [ERROR] [org.gradle.BuildExceptionReporter] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':androidProcessResources'.
15:24:24.636 [ERROR] [org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecu
ter.java:68)
4

2 に答える 2

5

http://tools.android.com/tech-docs/new-build-system/using-the-new-build-system#TOC-Working-with-and-Customizing-SourceSetsで説明されているとおり

デフォルトのソースセットの場所はsrc/<sourceset>

君のsourceset名前だmainから場所はsrc/main

さらに、manifestプロパティについて説明します。

マニフェスト、タイプ AndroidSourceFile、デフォルトの場所src/<sourceset>/AndroidManifest.xml

マニフェストの宣言だと思います:

   manifest {
                srcFile 'AndroidManifest.xml'
            }

デフォルトと同じで、最終的には次の場所になります。

src/main/AndroidManifest.xml

これは例外メッセージにリストされています。

これがgradle android pluginの仕組みだと思います。
私が間違っている場合は修正してください。私は Gradle を知りません。

編集

わかりました、今私は何が悪いのか知っています。ビルド スクリプトで 2 つの異なるプラグインの設定が混在しています。

変化する:

classpath 'com.android.tools.build:gradle:0.1'

classpath 'org.gradle.api.plugins:gradle-android-plugin:1.2.1'

ブロックを削除androidしますが、本体は保持します。

sourceSets本体ごとブロックを外します。

その後、動作するはずです。今回はテストしました。

編集2

これは Windows 関連のバグで、6 日前に修正されました。

https://github.com/jvoegele/gradle-android-plugin/pull/89

あなたができることは、最新のプラグインバージョンをダウンロードすることです

git clone git://github.com/jvoegele/gradle-android-plugin.git

ローカルの Maven リポジトリにインストールします。

gradle install

mavenLocal()次に、リポジトリに追加します。

repositories {
    mavenCentral()
    mavenLocal()
}

プラグインのバージョンをスナップショットに変更します。

dependencies {
    classpath 'org.gradle.api.plugins:gradle-android-plugin:1.2.2-SNAPSHOT'
}
于 2012-11-11T21:04:00.343 に答える
0

task で示されているように、Android リソース ファイルの 1 つでバックスラッシュを誤ってエスケープしようとしているように見えますandroidProcessResources。リソース ファイルを確認するか、ここに投稿して確認できるようにしてください。

于 2012-11-05T13:47:59.077 に答える