मैं थोड़ी देर के जांच की है और शायद सबसे लोकप्रिय जवाब यहां से संबंधित देखा आर और सकर्मक निर्भरता लेकिन किसी भी तरह यह अभी भी यह कैसे काम कर रहे बनाने के लिए मेरे लिए स्पष्ट नहीं है।
इसलिए:
मेरे पास दिए गए ग्रेडल कॉन्फिगर के साथ android लाइब्रेरी है:
apply plugin: 'android-library'
apply plugin: 'android-maven'
version = "1.0.0"
group = "com.somepackage"
buildscript {
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
classpath 'com.github.dcendents:android-maven-plugin:1.0'
}
}
android {
compileSdkVersion 19
buildToolsVersion '19.0.3'
defaultConfig {
minSdkVersion 10
}
}
repositories {
maven { url 'http://www.bugsense.com/gradle/' }
}
dependencies {
provided 'com.google.android.gms:play-services:+'
provided 'com.android.support:appcompat-v7:+'
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.bugsense.trace:bugsense:3.6'
compile 'commons-net:commons-net:3.3'
}
तब मैं इसे स्थानीय मावेन रेपो के साथ तैनात कर रहा हूं gradle install
। तैनात पुस्तकालय की पीओएम फाइल इस प्रकार है:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.sprezzat</groupId>
<artifactId>app</artifactId>
<version>1.0.0</version>
<packaging>aar</packaging>
<dependencies>
<dependency>
<groupId>com.bugsense.trace</groupId>
<artifactId>bugsense</artifactId>
<version>3.6</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
और अंत में एक निर्भरता के रूप में पुस्तकालय से ऊपर का उपयोग करके मेरे एंड्रॉइड एप्लिकेशन का विन्यास कॉन्फ़िगर करें:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
mavenLocal()
}
android {
compileSdkVersion 15
buildToolsVersion "19.0.2"
defaultConfig {
minSdkVersion 10
targetSdkVersion 18
}
}
dependencies {
compile 'com.google.android.gms:play-services:+'
compile 'com.android.support:appcompat-v7:+'
compile 'com.somepackage:LIBRARY_NAME:1.0.0@aar'
}
और फोन पर एप्लिकेशन को तैनात करने के बाद मुझे NoClassDefFoundError
अपने एंड्रॉइड लाइब्रेरी के संकलन निर्भरताओं से संबंधित कक्षाएं मिल रही हैं ।
का उपयोग कर मेरे Android आवेदन निर्भरता का निरीक्षण gradle dependencies
:
apk - Classpath packaged with the compiled main classes.
+--- com.google.android.gms:play-services:+ -> 4.3.23
| \--- com.android.support:support-v4:19.0.1 -> 19.1.0
+--- com.android.support:appcompat-v7:+ -> 19.1.0
| \--- com.android.support:support-v4:19.1.0
\--- com.somepackage:LIBRARY_NAME:1.0.0
उपरोक्त पेड़ के अनुसार, सभी सकरात्मक निर्भरता का पता नहीं लगाया जाता है। समस्या कहां है और इसे सही तरीके से कैसे किया जाना चाहिए?
gradle dependencies
अपने ऐप के लिए रनिंग के आउटपुट की जांच की है ?