android - studio - gradle شرح




كيف أقوم بإضافة مشروع مكتبة إلى Android Studio؟ (20)

كيف يمكنني إضافة مشروع مكتبة (مثل Sherlock ABS) إلى Android Studio ؟

(ليس لحزمة ADT Eclipse القديمة ، ولكن إلى Android Studio الجديد.)


Android Studio 3.0

ما عليك سوى إضافة اسم المكتبة إلى حظر التبعيات لملف build.gradle لتطبيقك .

dependencies {
    // ...
    implementation 'com.example:some-library:1.0.0'
}

لاحظ أنه يجب عليك استخدام implementation بدلاً من compile الآن. هذا جديد مع Android Studio 3.0. انظر هذا سؤال وجواب لشرح الفرق.


الخيار 1: إسقاط الملفات في دليل libs Project /

سيتم بعد ذلك تحديث ملف build.ragdle ذي الصلة تلقائيًا.

الخيار 2: تعديل ملف build.gradle يدوياً

افتح ملف build.gradle الخاص بك وقم بإضافة قاعدة بناء جديدة إلى إغلاق التباعيات. على سبيل المثال ، إذا كنت ترغب في إضافة خدمات Google Play ، فسيبدو قسم تبعيات مشروعك كما يلي:

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.google.android.gms:play-services:6.5.+'
   }

الخيار 3: استخدم واجهة مستخدم Android Studio

في لوحة Project ، انقر فوق Control + النقر فوق الوحدة النمطية التي تريد إضافة التبعية إليها وحدد فتح إعدادات الوحدة النمطية.

حدد علامة التبويب التبعيات ، متبوعةً بزر + في الركن السفلي الأيسر. يمكنك الاختيار من قائمة الخيارات التالية:

  • تبعية المكتبة
  • تبعية الملف
  • التبعية الوحدة

يمكنك بعد ذلك إدخال مزيد من المعلومات حول التبعية التي تريد إضافتها إلى مشروعك. على سبيل المثال ، إذا اخترت Dependency Library ، يعرض Android Studio قائمة من المكتبات لتختار منها.

بمجرد إضافة التبعية ، تحقق من ملف build.gradle على مستوى الوحدة النمطية. يجب أن يتم تحديثه تلقائيًا ليشمل التبعية الجديدة.

Source


  1. اضغط F4 لإظهار بنية المشروع ، انقر فوق مكتبات أو مكتبات عمومية ، وانقر فوق + لإضافة ملف JAR.
  2. انقر فوق الوحدات النمطية التي تريد إضافة جرة ، وحدد علامة التبويب التبعيات ، وانقر فوق + ، وأضف المكتبة.

أسهل طريقة وجدت فيها مشروع المكتبة الخارجية هي (على سبيل المثال ، تضمين مكتبة Facebook التي تم تخزينها في مجلد التبعيات).

  1. في settings.gradle add

    include ':facebook'
    
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK')
    
  2. في قسم التبعيات build.gradle ، أضف

    compile project ('facebook')
    

كل ما يجب فعله هو مزامنة المشروع مع ملفات Gradle.


إذا كان لديك Android Studio .0.4.0 ، فيمكنك إنشاء مجلد جديد في مسار YourApp/libraries ، YourApp/libraries . انسخ ملف JAR. هناك ، انقر بزر الماوس الأيمن عليه و "إضافة كمكتبة". الآن لديك منبثقة. ما عليك سوى اختيار الدليل الخاص بك واضغط على موافق ، وهذا كل شيء.


إذا كنت بحاجة إلى الوصول إلى موارد مشروع المكتبة (كما تفعل مع نظام ABS) ، فاحرص على إضافة مشروع / وحدة المكتبة على أنها "تبعية للوحدة" بدلاً من "مكتبة".


افتح ملف تطبيق الوحدة النمطية لـ gradle build وأضف التبعية الخاصة بك. إذا قمت بتنزيل المكتبة ، فقم فقط باستيرادها وبناءها.

عدا ذلك أضف مستودعات في تطبيق وحدة التجاويف الجانبية:

repositories {
        maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
}

أول المستودعات سوف تقوم بتنزيل المكتبة من أجلك.

وتجميع المكتبة التي تم تنزيلها:

 compile ('com.fortysevendeg.swipelistview:swipelistview:[email protected]') {
        transitive = true
    }

إذا كنت تقوم بإنشاء مكتبة ، فستحتاج فقط إلى استيراد المشروع كمستند جديد.


بالنسبة إلى Android Studio:

انقر على Build.gradle (الوحدة: التطبيق) .

وتضيف ل

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/commons-io-2.4.jar')
}

وفي دليل "التطبيق" ، قم بإنشاء دليل "libs". أضف الملف yourfile.jar:

وأخيرًا ، قم بتجميع ملفات Gradle:


بعد استيراد وحدة ABS (من File> Project Structure) والتأكد من وجود Android 2.2 و Support Library v4 كتركيبات ، كنت لا أزال أتلقى الخطأ التالي مثل you @ Allex

Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar'

أضفت الوحدة المستوردة حديثًا كاعتمادية لوحدة التطبيق الرئيسية الخاصة بي والتي تعمل على إصلاح المشكلة.


طريقة بسيطة لإضافة ملف JAR كمكتب إلى مشروع Android Studio الخاص بك:

أ) انسخ ملفات * .jar

ب) لصق في دليل libs تحت مشاريعك:

ج) إضافة إلى build.gradle:

dependencies {
    ...
    compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)
}

ب) إذا كان مشروعك على سبيل المثال com.example.MYProject و libraries com.example.ScanAPI له نفس مساحة الاسم com.example ، فسيقوم Android Studio بفحص الإنشاء وإنشاء جميع التغييرات اللازمة في مشروعك. بعد ذلك يمكنك مراجعة هذه الإعدادات في القائمة ملف -> بنية المشروع .

ج) إذا كان مشروعك ومكتباتك تحتويان على مساحة اسم مختلفة ، فعليك النقر بزر الماوس الأيمن على المكتبة وتحديد الخيار "إضافة كمكتبة" وتحديد نوع ما تحتاجه.

تذكر أن خيار "بنية المشروع" لا يقوم بأي تغييرات تلقائية في "build.gradle" في الإصدار الحالي من Android Studio (0.2.3). ربما ستكون هذه الميزة متاحة في الإصدارات القادمة.


في الواقع ، مع تغير الإصدارات ، تتغير كذلك واجهة المستخدم والخيارات المتاحة في القائمة. بعد قراءة معظم الإجابات على هذه الأسئلة كان علي أن أخمن ما يمكن أن يعمل من أجل Android Studio 1.1.0 .

  1. باستخدام الماوس ، حدد المشروع على المستوى الرئيسي (هذا هو المكان الذي يعرض فيه اسم تطبيقك).

  2. انقر بزر الماوس الأيمن ، واختر خيارات القائمة New ، Folder ، Assets Folder .

  3. بعد إنشاء مجلد الأصول ، الصق أو نسخه ، بغض النظر عن ملف JAR الذي تحتاجه لمكتبتك.

  4. من القائمة الرئيسية لـ Android Studio (أعلى الشاشة) ، حدد File -> Project Structure .

  5. ثم حدد اسم مشروعك وانتقل إلى علامة التبويب التبعيات .

  6. انقر فوق علامة الجمع ( + ) في أسفل يسار مربع الحوار وحدد تبعية الملف.

  7. أخيرًا ، افتح مجلد الأصول الذي تم إنشاؤه مؤخرًا ، وحدد ملفات JAR التي نسختها ، ثم انقر فوق تطبيق و موافق .

تنظيف وإعادة بناء المشروع الخاص بك.


كان لدي سبب مختلف للمشكلة حتى بالنسبة للأشخاص:

repositories {
    mavenCentral()
}

تغيير mavenCentral () ل jcenter () وإضافة

allprojects {
    repositories {
        jcenter()
    }
}

لحل هذه المشكلة ، تحتاج فقط إلى إضافة مسار مورد القيمة abs إلى ملف إنشاء مشروع ، تمامًا كما يلي:

sourceSets {
    main {
        res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']
    }
}

لذلك ، أنا مرة أخرى دون ترجمة أي أخطاء.


لقد وجدت الحل. في غاية البساطة. اتبع share .

تأكد من جعل المجلد src مجلد مصدر في بنية المشروع -> Modules (Sources).


للإضافة إلى الإجابة: إذا لم يظهر IDE أي خطأ ، ولكن عند محاولة تجميع ، تحصل على شيء مثل:

No resource found that matches the given name 'Theme.Sherlock.Light'

ربما يتم تجميع مشروع المكتبة كمشروع تطبيق. لتغيير هذا ، انتقل إلى:

ملف القائمة -> هيكل المشروع -> واجهات -> [اسم المكتبة] -> تحقق "وحدة المكتبة".


ما عليك سوى استيراد مشروع مكتبة Android كوحدة نمطية وفي Build.gradle .

تطبيق المكون الإضافي: "com.android.library"

بعد ذلك ، اتبع الخطوات التالية:

  1. انقر بزر الماوس الأيمن على الوحدة النمطية وحدد إعدادات فتح الوحدة النمطية
  2. حدد تبعيات ، وانقر فوق + ، وحدد تبعيات المكتبة ، وأضف الوحدة التي تم استيرادها مسبقًا.

من غير المستحسن تحرير تبعيات المكتبة من خلال واجهة المستخدم الرسومية لأن ذلك لا يكتب تلك التغييرات في ملف build.gradle الخاص بك. لذلك لن بناء مشروعك من سطر الأوامر. يجب أن نقوم بتحرير ملف build.gradle مباشرة كما يلي.

على سبيل المثال ، تعطى للهيكل التالي:

مشروعي/

  • التطبيق /
  • المكتبات /
    • lib1 /
    • lib2 /

يمكننا تحديد ثلاثة مشاريع. سيشير Gradle لهم مع الأسماء التالية:

  1. : التطبيق
  2. : المكتبات: lib1
  3. : المكتبات: lib2

من المرجح أن يعتمد مشروع التطبيق على المكتبات ، ويتم ذلك عن طريق إعلان الاعتمادات التالية:

dependencies {
    compile project(':libraries:lib1')
}

هنا هو الدليل البصري:

تحديث لـ Android Studio 0.8.2:

في Android Studio 0.8.2 ، انتقل إلى Project Structure -> تحت Modules ، فقط اضغط على زر actionbarsherlock وحدد Import Existing Project actionbarsherlock . ثم قم بمزامنة ملفات Gradle.

إذا كنت تواجه الخطأ

خطأ: مراجعة أدوات SDK Build Tools (xx.xx) منخفضة جدًا. الحد الأدنى المطلوب هو yy.yy

فقط افتح الملف build.gradle في دليل actionbarsherlock وقم بتحديث buildToolsVersion إلى العنصر المقترح.

android {
  compileSdkVersion 19
  buildToolsVersion 'yy.y.y'

ملف القائمة -> بنية المشروع ... :

الوحدة -> وحدة الاستيراد

بعد استيراد وحدة المكتبة ، حدد الوحدة النمطية للمشروع الخاص بك وقم بإضافة التبعية:

ثم حدد الوحدة النمطية المستوردة :



الطريقة الأولى يعمل هذا لـ MacBook.

حدد أولاً ملف builder.gradle الخاص بك بالشاشة المحددة:

إضافة الاعتمادات مثلما هو الحال في الشاشة المحددة:

حدد مشروع المزامنة.

إذا كنت تواجه خطأً مثل "Project with path ': signature-pad" تعذر العثور عليه في project': app '"، فالرجاء استخدام الطريقة الثانية:

حدد القائمة ملف -> جديد -> استيراد الوحدة النمطية ... :

بعد النقر على " استيراد الوحدة النمطية" ،

إعطاء مسار مكتبة مثل مسار MacBook الخاص بي:

انقر فوق " إنهاء" . الآن تتم إضافة مكتبتك.





android-studio