プロジェクトを Eclipse から移行しようとしていますが、試したことはありません。Eclipse には 3 つのプロジェクトがあります (2 つの Android アプリ プロジェクトと 1 つの Android ライブラリ プロジェクト)。2 つのアプリ プロジェクトは、ライブラリ プロジェクトに依存します。gradle export を実行すると、動作しない 3 つのプロジェクトが発生します。私はプロジェクトの再構築を受け入れていますが、これをどのように行うべきかについてのドキュメントは見つかりませんでした。
Eclipse がエクスポートする 3 つのプロジェクトを連携させる方法はありますか? 物事を再構築した方が良いですか?もしそうなら、これをどのように行うべきかについての文書はありますか?
アップデート
プロジェクト全体を GitHub https://github.com/respectTheCode/android-studio-library-exampleにアップロードしました
更新 1
Padma Kumar からの提案に基づいて、これが私が試したものです。
- という名前の新しいプロジェクトを作成します
MyApp
- をクリックし
File > New Module
、選択Android Library
して名前を付けますMyLib
- クリック
Build > Make Project
ビルドはこのエラーで失敗します
Module "MyLib" was fully rebuilt due to project configuration/dependencies changes
Compilation completed with 1 error and 0 warnings in 19 sec
1 error
0 warnings
/.../MyApp/MyLib/build/bundles/debug/AndroidManifest.xml
Gradle: <manifest> does not have package attribute.
package
次に、マニフェストに属性を追加して、それを作成しました
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.mylib" >
ビルド後、このエラーが発生します
Module "MyApp" was fully rebuilt due to project configuration/dependencies changes
Compilation completed with 2 errors and 0 warnings in 13 sec
2 errors
0 warnings
/.../MyApp/MyLib/src/main/java/com/example/mylib/MainActivity.java
Gradle: package R does not exist
Gradle: package R does not exist
依存関係を追加しても、エラーには影響がないようです。上からの続き
- クリック
File > Project Structure > Modules > MyApp-MyApp
Dependencies
タブに切り替え- クリックし
+ > Module Dependency
て選択MyLib
- クリックし
Apply
てOK
- クリック
Build > Make Project
更新 2
イーサンからの提案に基づいて、これが私たちが得る場所です
2 サブ プロジェクトbuild.gradle
には正しい部分がすべてあるように見えますが、唯一の違いは、次のプラグイン ラインがMyApp/build.gradle
.
buildscript {
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
dependencies {
compile files('libs/android-support-v4.jar')
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 16
}
}
ルート プロジェクトbuild.gradle
が空だったので、このように 2 つのプロジェクトを追加しました
dependencies {
compile project(":MyLib")
compile project(":MyApp")
}
ビルド時にこのエラーが発生するようになりました
Gradle:
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/kevin/GitHub/AppPress/MyApp/build.gradle' line: 2
* What went wrong:
A problem occurred evaluating root project 'MyApp'.
> Could not find method compile() for arguments [project ':MyLib'] on root project 'MyApp'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
アップデート 3
これを解決してくれたイーサンに感謝します。
compile project(':SubProjects:MyLib')
に追加MyLib/build.gradle
- から削除
compile files('libs/android-support-v4.jar')
しますMyLib/build.gradle
- プロジェクトを閉じて、gradle からルート プロジェクトをインポートします。
更新 4
compile "com.android.support:support-v4:13.0.0"
0.1.2 の時点で、代わりに を含めることができるようになりcompile files('libs/android-support-v4.jar')
ました。今は mavin から来ているので、これを複数のプロジェクトに問題なく含めることができます。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4.2'
}
}
apply plugin: 'android'
dependencies {
compile "com.android.support:support-v4:13.0.0"
compile project(':SubProjects:MyLib')
}
更新 5
0.1.3 の時点で、ツールバーに「プロジェクトを同期」ボタンが追加されました。ファイルに変更を加えた後、プロジェクトを再インポートする代わりに、それをクリックでき.gradle
ます。