আমি একটি প্রকল্প Eclipse থেকে স্থানান্তরিত করার চেষ্টা করছি তবে যা চেষ্টা করেছি কিছুই কাজ করছে না। Eclipse এ আমার 3 টি প্রকল্প (2 অ্যান্ড্রয়েড অ্যাপ প্রকল্প এবং 1 অ্যান্ড্রয়েড লাইব্রেরি প্রকল্প) রয়েছে। 2 টি অ্যাপ প্রকল্পগুলি লাইব্রেরি প্রকল্পের উপর নির্ভর করে। যখন আমি গ্রেড এক্সপোর্ট করি তখন আমি 3 টি প্রকল্প পাই যা কার্যকর হয় না। আমি প্রকল্পটি পুনর্গঠনের জন্য উন্মুক্ত কিন্তু কীভাবে এটি করা উচিত তার কোনও নথিপত্র পাইনি।
Eclipse রফতানি একসাথে কাজ করে এমন 3 টি প্রকল্প করার কী উপায় আছে? আমি কি জিনিসগুলিকে পুনর্গঠন করার চেয়ে আরও ভাল করছি এবং যদি এটি করা হয় তবে এর জন্য ডকুমেন্টেশন কি?
হালনাগাদ
আমি পুরো প্রকল্পটি গিটহাব https://github.com/respectTheCode/android-studio-library-example এ আপলোড করেছি
আপডেট 1
পদ্ম কুমারের পরামর্শের ভিত্তিতে এটিই আমি চেষ্টা করেছি।
- নামে পরিচিত একটি নতুন প্রকল্প তৈরি করুন
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
খালি ছিল তাই আমি এই দুটি প্রকল্প যুক্ত করেছি
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
- প্রকল্প বন্ধ করুন এবং গ্রেড থেকে মূল প্রকল্পটি আমদানি করুন
আপডেট 4
0.1.2 হিসাবে আপনি এখন এর compile "com.android.support:support-v4:13.0.0"
পরিবর্তে অন্তর্ভুক্ত করতে পারেন compile files('libs/android-support-v4.jar')
। যেহেতু এটি এখন মাভিন থেকে আসছে তাই আপনি সমস্যা ছাড়াই একাধিক প্রকল্পে এটি অন্তর্ভুক্ত করতে পারেন।
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
ফাইলগুলিতে পরিবর্তন করার পরে আপনার প্রকল্পটিকে পুনরায় গুরুত্বের পরিবর্তে ক্লিক করতে পারেন ।
compile 'com.google.android:support-v4:r6'
গ্রেডের পরিবর্তে আপনার প্রতিটি প্রকল্প এবং মাভেন প্লাগইনকে (নীচে বিল্ড.gradle উদাহরণের মতো) যুক্ত করেন compile files('libs/android-support-v4.jar')
তবে বুঝতে পারবেন যে উভয় প্রকল্পই একই জিনিসকে অন্তর্ভুক্ত করেছে এবং কেবল একবার এটি অন্তর্ভুক্ত করবে।