Eclipse'den bir proje taşımaya çalışıyorum ama denediğim hiçbir şey çalışmıyor. Eclipse'de 3 projem var (2 android uygulama projesi ve 1 android kütüphane projesi). 2 uygulama projesi kütüphane projesine bağlıdır. Kepçe ihracatını yaptığımda işe yaramayan 3 proje alıyorum. Projeyi yeniden yapılandırmaya açığım ancak bunun nasıl yapılması gerektiğine dair herhangi bir belge bulamadım.
Eclipse ihracatının birlikte çalıştığı 3 projeyi yapmanın bir yolu var mı? Bir şeyleri yeniden yapılandırmaktan daha iyi miyim ve eğer öyleyse bunun nasıl yapılması gerektiğine dair belgeler mi?
Güncelleme
Tüm projeyi GitHub'a yükledim https://github.com/respectTheCode/android-studio-library-example
Güncelleme 1
Padma Kumar'ın önerilerine dayanarak bu denedim.
- Adlı yeni bir Proje oluşturun
MyApp - Tıklayın
File > New Module, seçinAndroid Libraryve adlandırınMyLib - Tıklayın
Build > Make Project
Derleme bu hatayla başarısız oluyor
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.
Sonra packagemanifest'e bir özellik ekledim
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.mylib" >
Yaptıktan sonra bu hatayı alıyorum
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
Bağımlılık eklemenin hata üzerinde bir etkisi yok gibi görünüyor. Yukarıdan devam
- Tıklayın
File > Project Structure > Modules > MyApp-MyApp - Geçin
DependenciesTab - Tıkla
+ > Module Dependencyve seçMyLib - Tıklayın
ApplyveOK - Tıklayın
Build > Make Project
Güncelleme 2
Ethan'ın önerilerine dayanarak burada
2 alt proje build.gradletüm doğru parçalara sahip gibi görünüyor ve tek fark eklenti hattı feryat olmasıdır 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
}
}
Kök proje build.gradleboştu, bu yüzden böyle iki projeyi ekledim
dependencies {
compile project(":MyLib")
compile project(":MyApp")
}
Şimdi inşa ederken bu hatayı alıyorum
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.
Güncelleme 3
Bunu çözdüğü için Ethan'a çok teşekkürler.
- ekle
compile project(':SubProjects:MyLib')içinMyLib/build.gradle - Kaldır
compile files('libs/android-support-v4.jar')danMyLib/build.gradle - Projeyi kapat ve kök projeyi sınıftan içe aktar
Güncelleme 4
0.1.2'den itibaren compile "com.android.support:support-v4:13.0.0"yerine ekleyebilirsiniz compile files('libs/android-support-v4.jar'). Şimdi mavin'den geldiğinden, bunu sorunsuz olarak birden fazla projeye dahil edebilirsiniz.
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')
}
Güncelleme 5
0.1.3'ten itibaren araç çubuğunda artık bir "Projeyi Senkronize Et" düğmesi var. .gradleDosyalarda değişiklik yaptıktan sonra projenizi yeniden içe aktarmak yerine bunu tıklayabilirsiniz .
compile 'com.google.android:support-v4:r6'projenize ve maven eklentisine (aşağıdaki build.gradle örneğinde olduğu gibi) her bir projeye eklerseniz , her compile files('libs/android-support-v4.jar')iki projenin de aynı şeyi içerdiğini ve yalnızca bir kez içereceğini fark edeceksiniz.