it-swarm.asia

تحويل المشروع الحالي إلى مشروع مكتبة في Android Studio

كيف يمكنني تحويل مشروع Android موجود إلى مشروع مكتبة Android في Android Studio؟ في Eclipse ، هذا ممكن.

في الواقع ، أريد تحويل مشروع Android قديم إلى مشروع مكتبة Android بحيث يمكنني استخدام الكود الموجود في مشروع Android لإنشاء مشروع Android جديد مع تغييرات طفيفة في Android Studio.

59
vijay

في ملف build.gradle الخاص بالوحدة (ليس مشروع الجذر ، إذا كنت تستخدم وحدات!) ، فاستبدل ببساطة:

apply plugin: 'com.Android.application'
// or, if you're on an old version
apply plugin: 'Android' // note: this one is deprecated

...مع:

apply plugin: 'com.Android.library'
// or, if you're on an old version
apply plugin: 'Android-library' // note: this one is deprecated

لاحظ أنه تم تغيير "Android" مؤخرًا إلى "com.Android.application" ، بينما تم تغيير "مكتبة Android" إلى "com.Android.library". تجنب استخدام الأسماء القديمة في المشاريع الجديدة.

بعد تحديث ملف build.gradle الخاص بك ، يجب عليك مزامنة المشروع مع ملفات Gradle (الموجودة في شريط الأدوات) ، لأن عدم القيام بذلك قد يؤدي إلى أخطاء وأشياء لا تعمل بشكل صحيح.

سيقوم Android Studio بعد ذلك بتحديث بعض الملفات للإشارة إلى أن الوحدة هي الآن مكتبة ؛ حيث سيتم إضافة هذا إلى ملف .iml الخاص بك:

<option name="LIBRARY_PROJECT" value="true" />

كما تعلم بالفعل ، لن تتمكن من تشغيل مشروع المكتبة (الآن) - ستحتاج إلى تضمينه في مشروع تطبيق .

إذا كنت تستخدم Android Studio 1.0 وكنت تحصل على "مشروعات المكتبة لا يمكنها تعيين applicationId" ، فتأكد من عدم وجود applicationId في ملف بناء Gradle الخاص بك.

84
Léo Lam

بالنظر إلى هذا المستند http://tools.Android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project-setup

أعتقد أن كل ما عليك فعله هو إضافة هذا إلى ملف build.gradle الخاص بك ،

إنشاء مشروع مكتبة

apply plugin: 'Android-library'

من الرابط

إنشاء مشروع مكتبة

يشبه مشروع Library إلى حد كبير مشروع Android العادي مع وجود بعض الاختلافات.

نظرًا لأن بناء المكتبات يختلف عن بناء التطبيقات ، يتم استخدام مكون إضافي مختلف. داخليًا ، يشترك كلا المكونين الإضافيين في معظم نفس الرمز ويتم توفيرهما بواسطة نفس com.Android.tools.build.gradle jar.

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.Android.tools.build:gradle:0.5.6'
    }
}

apply plugin: 'Android-library'

Android {
    compileSdkVersion 15
}
3
Ryan Heitner

افتح مشروع في ملف Explorer ، افتح project.properties وحاول تغيير Android.library = true في project.properties

0
chanakya

هذا رد متأخر ، لكنني كنت أحاول القيام بنفس الشيء. لا يبدو أن أياً مما سبق قد قام بالمهمة بالنسبة لي ، لكنني وجدت أن هذا الأمر أعتقد أنه يعمل:

انقر بزر الماوس الأيمن على اسم المشروع -> علامة الدليل باسم (في الأسفل) -> مصادر الجذر

لا أعرف الفرق بين "جذر الموارد" و "جذر المصادر" ، وقليلًا من googleing لرفع الإجابة ، لكن نأمل أن يكون هذا صحيحًا. أعرف فقط أنه ليس من المفترض أن تنشئ مكتبة apk ، وبعد تعيين هذا الخيار ، لا يمكنها القيام بذلك ، لذا فأنا أفترض أنها تعمل.

إذا كان أي شخص آخر يعرف أكثر مني ، فيرجى قول ذلك!

0
craned

إذا قمت بإجراء ذلك باستخدام سطر الأوامر ، مثل اقتراح chanakya ، يجب عليك تحديثه بـ:

Android update lib-project \
--target <target_ID> \
--path path/to/your/project

راجع: http://developer.Android.com/tools/projects/projects-cmdline.html#ReferencingLibraryProject

يعمل هذا مع Eclipse ، ولكن ليس لنظام Android-studio منذ تحديث build.xml.

0
spe