Closed StormKid closed 6 years ago
不知道是哪里配置问题还是说我APP插件本身的问题,此项目宿主调用sample里面的demo1 和 demo3是完全没问题的
经过仔细研究发现插件内部配错了东西导致的问题,没有将引用classpath的位置写在android{}外部
@StormKid 我也碰到这个问题了,作为单品运行时没问题,作为插件就有问题。您如何解决的?是插件的buidle有问题么?
@monty8800 仔细看classpath的位置,要放在外部,gradle配置位置很重要
@StormKid 我的插件gradle中没有classpath啊
apply plugin: 'com.android.application'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {
applicationId "com.rlzz.receivemanagement"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
multiDexEnabled false
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
abortOnError false
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
flavorDimensions "app"
productFlavors {
plugin {
dimension "app"
}
local {
dimension "app"
}
}
}
apply plugin: 'replugin-plugin-gradle'
repluginPluginConfig {
//插件名
pluginName = "ReceiveManagement"
//宿主app的包名
hostApplicationId = "com.rlzz.wms"
//宿主app的启动activity
hostAppLauncherActivity = "com.rlzz.wms.MainActivity"
}
configurations {
/** 所有插件排除 fragment 依赖 */
all*.exclude group: 'com.android.support', module: 'support-fragment'
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
implementation "com.android.support:appcompat-v7:$rootProject.ext.supportVersion"
implementation project(':base')
pluginCompileOnly files('../core/fragment-27.0.2.jar')
pluginCompileOnly files('../core/library.jar')
localImplementation files('../core/fragment-27.0.2.jar')
localImplementation files('../core/library.jar')
pluginCompileOnly 'org.greenrobot:eventbus:3.1.1'
localImplementation 'org.greenrobot:eventbus:3.1.1'
implementation 'com.qihoo360.replugin:replugin-plugin-lib:2.2.4'
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.35'
implementation 'com.github.GrenderG:Toasty:1.2.8'
localImplementation 'com.orhanobut:logger:2.1.1'
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.5'
implementation "io.reactivex.rxjava2:rxandroid:$rootProject.ext.rxandroidVersion"
pluginCompileOnly "com.squareup.retrofit2:retrofit:$rootProject.ext.retrofitVersion"
pluginCompileOnly "com.squareup.retrofit2:converter-gson:$rootProject.ext.converterGsonVersion"
pluginCompileOnly "com.squareup.retrofit2:adapter-rxjava2:$rootProject.ext.adapterRxjava2Version"
pluginCompileOnly "com.squareup.retrofit2:converter-scalars:$rootProject.ext.converterScalarsVersion"
pluginCompileOnly "com.squareup.okhttp3:okhttp:$rootProject.ext.okhttpVersion"
pluginCompileOnly "com.squareup.okhttp3:logging-interceptor:$rootProject.ext.loggingInterceptorVersion"
pluginCompileOnly "io.reactivex.rxjava2:rxjava:$rootProject.ext.rxjavaVersion"
localImplementation "com.squareup.retrofit2:retrofit:$rootProject.ext.retrofitVersion"
localImplementation "com.squareup.retrofit2:converter-gson:$rootProject.ext.converterGsonVersion"
localImplementation "com.squareup.retrofit2:adapter-rxjava2:$rootProject.ext.adapterRxjava2Version"
localImplementation "com.squareup.retrofit2:converter-scalars:$rootProject.ext.converterScalarsVersion"
localImplementation "com.squareup.okhttp3:okhttp:$rootProject.ext.okhttpVersion"
localImplementation "com.squareup.okhttp3:logging-interceptor:$rootProject.ext.loggingInterceptorVersion"
localImplementation "io.reactivex.rxjava2:rxjava:$rootProject.ext.rxjavaVersion"
}
@monty8800 repluginHostConfig { /**
@StormKid 有问题的位置在这里
configurations {
/** 所有插件排除 fragment 依赖 */
all*.exclude group: 'com.android.support', module: 'support-fragment'
}
只要加上这一段就会出问题,但是不加的话我用宿主调用插件Fragment又会报错。 @cundong
Logcat上下文 Logcat context