库类(来自 Android sdk)取决于程序类(同样,Android sdk)

2024-03-20

我们正在从 Android Gradle 插件 2.3.3 迁移到 Gradle 插件 3.0.1。我们的应用程序由应用程序模块和库模块组成。多个依赖项是可传递的(使用api关键字),但甚至使用implementation没有帮助。全部更改后compile-键入对新依赖项的依赖关系,调试构建效果良好。然而,使用 Proguard 的发布版本显示了数千个警告(在 2.3.3 上一切顺利)

特别是,我不明白为什么当库中的 Android 类依赖于程序中的 Android 类时我们会遇到这样的问题(这里只是几个例子):

Warning: library class android.app.ActionBar$LayoutParams extends or implements program class android.view.ViewGroup$MarginLayoutParams
Warning: library class android.app.ActivityManager$TaskDescription extends or implements program class android.os.Parcelable
Warning: library class android.widget.Toolbar depends on program class android.view.ViewGroup$LayoutParams

总体而言,以下类型的警告不会出现在 Gradle 插件 2.3.3 上(因此,Proguard 已配置):

Warning: there were 72 unresolved references to classes or interfaces.
         You may need to add missing library jars or update their versions.
         If your code works fine without the missing classes, you can suppress
         the warnings with '-dontwarn' options.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
Warning: there were 1373 instances of library classes depending on program classes.
         You must avoid such dependencies, since the program classes will
         be processed, while the library classes will remain unchanged.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#dependency)
Warning: there were 1056 unresolved references to program class members.
         Your input classes appear to be inconsistent.
         You may need to recompile the code.
         (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedprogramclassmember)
FAILURE: Build failed with an exception.

这是依赖项列表(gradle -q app:dependencies --configuration developmentDebugRuntimeClasspath ):

Configuration 'androidTestCompile' in project ':app' is deprecated. Use 'androidTestImplementation' instead.
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
Configuration 'debugCompile' in project ':vyng-core' is deprecated. Use 'debugImplementation' instead.
Configuration 'compile' in project ':vyng-core' is deprecated. Use 'implementation' instead.

------------------------------------------------------------
Project :app
------------------------------------------------------------

developmentDebugRuntimeClasspath - Resolved configuration for runtime for variant: developmentDebug
+--- io.objectbox:objectbox-android-objectbrowser:1.3.4
|    \--- io.objectbox:objectbox-java:1.3.4
|         +--- io.objectbox:objectbox-java-api:1.3.4
|         +--- org.greenrobot:essentials:3.0.0-RC1
|         +--- com.google.flatbuffers:flatbuffers-java:1.7.2
|         \--- com.google.code.findbugs:jsr305:3.0.2
+--- com.squareup.leakcanary:leakcanary-android:1.5.4
|    \--- com.squareup.leakcanary:leakcanary-analyzer:1.5.4
|         +--- com.squareup.leakcanary:leakcanary-watcher:1.5.4
|         \--- com.squareup.haha:haha:2.0.3
+--- project :vyng-core
|    +--- com.afollestad.material-dialogs:core:0.9.6.0
|    |    +--- com.android.support:support-annotations:27.0.1 -> 27.0.2
|    |    +--- com.android.support:appcompat-v7:27.0.1 -> 27.0.2
|    |    |    +--- com.android.support:support-annotations:27.0.2
|    |    |    +--- com.android.support:support-core-utils:27.0.2
|    |    |    |    +--- com.android.support:support-annotations:27.0.2
|    |    |    |    \--- com.android.support:support-compat:27.0.2
|    |    |    |         +--- com.android.support:support-annotations:27.0.2
|    |    |    |         \--- android.arch.lifecycle:runtime:1.0.3
|    |    |    |              +--- android.arch.lifecycle:common:1.0.3
|    |    |    |              \--- android.arch.core:common:1.0.0
|    |    |    +--- com.android.support:support-fragment:27.0.2
|    |    |    |    +--- com.android.support:support-compat:27.0.2 (*)
|    |    |    |    +--- com.android.support:support-core-ui:27.0.2
|    |    |    |    |    +--- com.android.support:support-annotations:27.0.2
|    |    |    |    |    \--- com.android.support:support-compat:27.0.2 (*)
|    |    |    |    +--- com.android.support:support-core-utils:27.0.2 (*)
|    |    |    |    \--- com.android.support:support-annotations:27.0.2
|    |    |    +--- com.android.support:support-vector-drawable:27.0.2
|    |    |    |    +--- com.android.support:support-annotations:27.0.2
|    |    |    |    \--- com.android.support:support-compat:27.0.2 (*)
|    |    |    \--- com.android.support:animated-vector-drawable:27.0.2
|    |    |         +--- com.android.support:support-vector-drawable:27.0.2 (*)
|    |    |         \--- com.android.support:support-core-ui:27.0.2 (*)
|    |    +--- com.android.support:recyclerview-v7:27.0.1 -> 27.0.2
|    |    |    +--- com.android.support:support-annotations:27.0.2
|    |    |    +--- com.android.support:support-compat:27.0.2 (*)
|    |    |    \--- com.android.support:support-core-ui:27.0.2 (*)
|    |    \--- me.zhanghai.android.materialprogressbar:library:1.4.2
|    |         +--- com.android.support:appcompat-v7:26.0.2 -> 27.0.2 (*)
|    |         \--- com.android.support:support-annotations:26.0.2 -> 27.0.2
|    +--- com.jakewharton:butterknife:8.8.1
|    |    +--- com.jakewharton:butterknife-annotations:8.8.1
|    |    |    \--- com.android.support:support-annotations:25.3.0 -> 27.0.2
|    |    +--- com.android.support:support-annotations:25.3.0 -> 27.0.2
|    |    \--- com.android.support:support-compat:25.3.0 -> 27.0.2 (*)
|    +--- com.android.support:support-annotations:27.0.2
|    +--- com.android.support:customtabs:27.0.2
|    |    +--- com.android.support:support-compat:27.0.2 (*)
|    |    \--- com.android.support:support-annotations:27.0.2
|    +--- com.jakewharton.hugo:hugo-annotations:1.2.1
|    +--- com.jakewharton.hugo:hugo-runtime:1.2.1
|    |    +--- com.jakewharton.hugo:hugo-annotations:1.2.1
|    |    \--- org.aspectj:aspectjrt:1.8.5
|    +--- org.aspectj:aspectjrt:1.8.5
|    +--- com.airbnb.android:lottie:2.2.5
|    |    \--- com.android.support:appcompat-v7:26.1.0 -> 27.0.2 (*)
|    +--- com.muddzdev:styleabletoast:1.0.9
|    |    \--- com.android.support:appcompat-v7:25.3.1 -> 27.0.2 (*)
|    +--- com.facebook.rebound:rebound:0.3.8
|    +--- jp.wasabeef:glide-transformations:3.0.1
|    |    \--- com.github.bumptech.glide:glide:4.0.0
|    |         +--- com.github.bumptech.glide:gifdecoder:4.0.0
|    |         |    \--- com.android.support:support-annotations:25.3.1 -> 27.0.2
|    |         +--- com.github.bumptech.glide:disklrucache:4.0.0
|    |         \--- com.github.bumptech.glide:annotations:4.0.0
|    +--- com.googlecode.libphonenumber:libphonenumber:8.8.1
|    +--- com.bluelinelabs:conductor:2.1.3 -> 2.1.4
|    |    \--- com.android.support:support-annotations:25.3.1 -> 27.0.2
|    +--- io.reactivex.rxjava2:rxjava:2.1.6
|    |    \--- org.reactivestreams:reactive-streams:1.0.1
|    +--- io.reactivex.rxjava2:rxandroid:2.0.1
|    |    \--- io.reactivex.rxjava2:rxjava:2.0.1 -> 2.1.6 (*)
|    +--- com.tbruyelle.rxpermissions2:rxpermissions:0.9.4
|    +--- com.crashlytics.sdk.android:crashlytics:2.6.8
|    |    +--- com.crashlytics.sdk.android:beta:1.2.5
|    |    |    \--- io.fabric.sdk.android:fabric:1.3.17
|    |    +--- io.fabric.sdk.android:fabric:1.3.17
|    |    +--- com.crashlytics.sdk.android:crashlytics-core:2.3.17
|    |    |    +--- io.fabric.sdk.android:fabric:1.3.17
|    |    |    \--- com.crashlytics.sdk.android:answers:1.3.13
|    |    |         \--- io.fabric.sdk.android:fabric:1.3.17
|    |    \--- com.crashlytics.sdk.android:answers:1.3.13 (*)
|    +--- com.jakewharton.timber:timber:4.6.0
|    +--- org.slf4j:slf4j-api:1.7.25
|    +--- com.github.tony19:logback-android-core:1.1.1-6
|    +--- com.github.tony19:logback-android-classic:1.1.1-6
|    |    +--- com.github.tony19:logback-android-core:1.1.1-6
|    |    \--- com.github.tony19:apktool-lib:1.4.4-3
|    |         \--- com.google.android:android:2.1_r1
|    |              +--- commons-logging:commons-logging:1.1.1
|    |              +--- org.apache.httpcomponents:httpclient:4.0.1
|    |              |    +--- org.apache.httpcomponents:httpcore:4.0.1
|    |              |    +--- commons-logging:commons-logging:1.1.1
|    |              |    \--- commons-codec:commons-codec:1.3
|    |              +--- org.khronos:opengl-api:gl1.1-android-2.1_r1
|    |              +--- xerces:xmlParserAPIs:2.6.2
|    |              \--- xpp3:xpp3:1.1.4c
|    +--- com.google.dagger:dagger:2.11
|    |    \--- javax.inject:javax.inject:1
|    +--- com.google.android.exoplayer:exoplayer-core:r2.4.4 -> r2.5.1
|    |    \--- com.android.support:support-annotations:25.4.0 -> 27.0.2
|    +--- com.google.android.exoplayer:exoplayer-dash:r2.4.4 -> r2.5.1
|    |    +--- com.google.android.exoplayer:exoplayer-core:r2.5.1 (*)
|    |    +--- com.android.support:support-annotations:25.4.0 -> 27.0.2
|    |    \--- com.android.support:support-core-utils:25.4.0 -> 27.0.2 (*)
|    +--- com.google.firebase:firebase-core:11.8.0
|    |    \--- com.google.firebase:firebase-analytics:11.8.0
|    |         +--- com.google.android.gms:play-services-basement:11.8.0
|    |         |    +--- com.android.support:support-v4:25.2.0 -> 27.0.2
|    |         |    |    +--- com.android.support:support-compat:27.0.2 (*)
|    |         |    |    +--- com.android.support:support-media-compat:27.0.2
|    |         |    |    |    +--- com.android.support:support-annotations:27.0.2
|    |         |    |    |    \--- com.android.support:support-compat:27.0.2 (*)
|    |         |    |    +--- com.android.support:support-core-utils:27.0.2 (*)
|    |         |    |    +--- com.android.support:support-core-ui:27.0.2 (*)
|    |         |    |    \--- com.android.support:support-fragment:27.0.2 (*)
|    |         |    \--- com.google.android.gms:play-services-basement-license:11.8.0
|    |         +--- com.google.firebase:firebase-common:11.8.0
|    |         |    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
|    |         |    +--- com.google.android.gms:play-services-tasks:11.8.0
|    |         |    |    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
|    |         |    |    \--- com.google.android.gms:play-services-tasks-license:11.8.0
|    |         |    \--- com.google.firebase:firebase-common-license:11.8.0
|    |         +--- com.google.firebase:firebase-analytics-impl:11.8.0
|    |         |    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
|    |         |    +--- com.google.firebase:firebase-iid:11.8.0
|    |         |    |    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
|    |         |    |    +--- com.google.firebase:firebase-common:11.8.0 (*)
|    |         |    |    +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
|    |         |    |    \--- com.google.firebase:firebase-iid-license:11.8.0
|    |         |    +--- com.google.firebase:firebase-common:11.8.0 (*)
|    |         |    +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
|    |         |    \--- com.google.firebase:firebase-analytics-impl-license:11.8.0
|    |         \--- com.google.firebase:firebase-analytics-license:11.8.0
|    +--- com.google.firebase:firebase-config:11.8.0
|    |    +--- com.google.android.gms:play-services-base:11.8.0
|    |    |    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
|    |    |    +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
|    |    |    \--- com.google.android.gms:play-services-base-license:11.8.0
|    |    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
|    |    +--- com.google.firebase:firebase-iid:11.8.0 (*)
|    |    +--- com.google.firebase:firebase-common:11.8.0 (*)
|    |    +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
|    |    \--- com.google.firebase:firebase-config-license:11.8.0
|    +--- com.squareup.retrofit2:retrofit:2.3.0
|    |    \--- com.squareup.okhttp3:okhttp:3.8.0 -> 3.8.1
|    |         \--- com.squareup.okio:okio:1.13.0
|    +--- com.squareup.retrofit2:converter-gson:2.3.0
|    |    +--- com.squareup.retrofit2:retrofit:2.3.0 (*)
|    |    \--- com.google.code.gson:gson:2.7 -> 2.8.2
|    +--- com.squareup.retrofit2:adapter-rxjava2:2.3.0
|    |    +--- com.squareup.retrofit2:retrofit:2.3.0 (*)
|    |    \--- io.reactivex.rxjava2:rxjava:2.0.0 -> 2.1.6 (*)
|    +--- com.squareup.okhttp3:logging-interceptor:3.8.1
|    |    \--- com.squareup.okhttp3:okhttp:3.8.1 (*)
|    \--- com.squareup.okhttp3:okhttp:3.8.1 (*)
+--- com.beloo.widget:ChipsLayoutManager:0.3.7
+--- com.muddzdev:styleabletoast:1.0.9 (*)
+--- com.github.jarrodholliday:material-about-library:1.8.4
|    +--- com.android.support:appcompat-v7:25.3.1 -> 27.0.2 (*)
|    +--- com.android.support:cardview-v7:25.3.1
|    |    \--- com.android.support:support-annotations:25.3.1 -> 27.0.2
|    +--- com.android.support:design:25.3.1 -> 27.0.2
|    |    +--- com.android.support:support-v4:27.0.2 (*)
|    |    +--- com.android.support:appcompat-v7:27.0.2 (*)
|    |    +--- com.android.support:recyclerview-v7:27.0.2 (*)
|    |    \--- com.android.support:transition:27.0.2
|    |         +--- com.android.support:support-annotations:27.0.2
|    |         \--- com.android.support:support-compat:27.0.2 (*)
|    \--- com.android.support.constraint:constraint-layout:1.0.2 -> 1.1.0-beta4
|         \--- com.android.support.constraint:constraint-layout-solver:1.1.0-beta4
+--- com.vdurmont:emoji-java:3.2.0
+--- eu.davidea:flexible-adapter:5.0.0-rc2
+--- com.airbnb.android:lottie:2.2.5 (*)
+--- com.android.support.constraint:constraint-layout:1.1.0-beta4 (*)
+--- io.reactivex.rxjava2:rxjava:2.1.6 (*)
+--- io.reactivex.rxjava2:rxandroid:2.0.1 (*)
+--- com.tbruyelle.rxpermissions2:rxpermissions:0.9.4
+--- oxim.digital:rx2anim:0.9.1
|    +--- com.android.support:appcompat-v7:25.0.0 -> 27.0.2 (*)
|    \--- com.android.support:support-annotations:25.0.0 -> 27.0.2
+--- com.jakewharton.rxbinding2:rxbinding:2.0.0
|    +--- io.reactivex.rxjava2:rxjava:2.0.2 -> 2.1.6 (*)
|    +--- io.reactivex.rxjava2:rxandroid:2.0.0 -> 2.0.1 (*)
|    \--- com.android.support:support-annotations:25.1.1 -> 27.0.2
+--- com.crashlytics.sdk.android:crashlytics:2.6.8 (*)
+--- com.jakewharton.timber:timber:4.6.0
+--- org.slf4j:slf4j-api:1.7.25
+--- com.github.tony19:logback-android-core:1.1.1-6
+--- com.github.tony19:logback-android-classic:1.1.1-6 (*)
+--- com.google.code.gson:gson:2.8.2
+--- com.googlecode.libphonenumber:libphonenumber:8.8.1
+--- com.facebook.android:facebook-android-sdk:4.24.0
|    +--- com.android.support:support-v4:25.3.1 -> 27.0.2 (*)
|    +--- com.android.support:appcompat-v7:25.3.1 -> 27.0.2 (*)
|    +--- com.android.support:cardview-v7:25.3.1 (*)
|    \--- com.parse.bolts:bolts-android:1.4.0
|         +--- com.parse.bolts:bolts-tasks:1.4.0
|         \--- com.parse.bolts:bolts-applinks:1.4.0
|              \--- com.parse.bolts:bolts-tasks:1.4.0
+--- com.writingminds:FFmpegAndroid:0.3.2
+--- com.google.guava:guava:23.0-android
|    +--- com.google.code.findbugs:jsr305:1.3.9 -> 3.0.2
|    +--- com.google.errorprone:error_prone_annotations:2.0.18
|    +--- com.google.j2objc:j2objc-annotations:1.1
|    \--- org.codehaus.mojo:animal-sniffer-annotations:1.14
+--- com.github.bumptech.glide:glide:4.0.0 (*)
+--- jp.wasabeef:glide-transformations:3.0.1 (*)
+--- com.android.support:appcompat-v7:27.0.2 (*)
+--- com.android.support:design:27.0.2 (*)
+--- com.android.support:support-annotations:27.0.2
+--- com.google.firebase:firebase-core:11.8.0 (*)
+--- com.google.firebase:firebase-auth:11.8.0
|    +--- com.google.android.gms:play-services-base:11.8.0 (*)
|    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
|    +--- com.google.firebase:firebase-common:11.8.0 (*)
|    +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
|    \--- com.google.firebase:firebase-auth-license:11.8.0
+--- com.google.firebase:firebase-messaging:11.8.0
|    +--- com.google.firebase:firebase-iid:11.8.0 (*)
|    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
|    +--- com.google.firebase:firebase-common:11.8.0 (*)
|    \--- com.google.firebase:firebase-messaging-license:11.8.0
+--- com.google.firebase:firebase-invites:11.8.0
|    +--- com.google.android.gms:play-services-appinvite:11.8.0
|    |    +--- com.google.android.gms:play-services-base:11.8.0 (*)
|    |    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
|    |    +--- com.google.firebase:firebase-dynamic-links:11.8.0
|    |    |    +--- com.google.android.gms:play-services-base:11.8.0 (*)
|    |    |    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
|    |    |    +--- com.google.firebase:firebase-common:11.8.0 (*)
|    |    |    +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
|    |    |    \--- com.google.firebase:firebase-dynamic-links-license:11.8.0
|    |    +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
|    |    \--- com.google.android.gms:play-services-appinvite-license:11.8.0
|    \--- com.google.firebase:firebase-analytics:11.8.0 (*)
+--- com.bluelinelabs:conductor:2.1.4 (*)
+--- com.google.dagger:dagger:2.11 (*)
+--- com.facebook.android:account-kit-sdk:4.24.0
|    +--- com.android.support:appcompat-v7:25.3.1 -> 27.0.2 (*)
|    +--- com.android.support:design:25.3.1 -> 27.0.2 (*)
|    \--- com.android.support:support-v4:25.3.1 -> 27.0.2 (*)
+--- com.google.android.exoplayer:exoplayer-ui:r2.5.1
|    +--- com.google.android.exoplayer:exoplayer-core:r2.5.1 (*)
|    \--- com.android.support:support-annotations:25.4.0 -> 27.0.2
+--- com.google.android.exoplayer:exoplayer-core:r2.5.1 (*)
+--- com.google.android.exoplayer:exoplayer-dash:r2.5.1 (*)
+--- com.yqritc:android-scalablevideoview:1.0.4
+--- com.github.jarrodholliday:videocache:2.7.1
+--- com.squareup.retrofit2:retrofit:2.3.0 (*)
+--- com.squareup.retrofit2:converter-gson:2.3.0 (*)
+--- com.squareup.retrofit2:adapter-rxjava2:2.3.0 (*)
+--- com.squareup.okhttp3:logging-interceptor:3.8.1 (*)
\--- com.squareup.okhttp3:okhttp:3.8.1 (*)

(*) - dependencies omitted (listed previously)

-dontwarn android.**

不会解决你的问题。您需要查看依赖关系树并找到导致问题的库。

例如在我的例子中是

+--- com.foursquare:foursquare-android-oauth:1.0.3
|    \--- com.google.android:android:4.1.1.4
|         +--- commons-logging:commons-logging:1.1.1
|         +--- org.apache.httpcomponents:httpclient:4.0.1
|         |    +--- org.apache.httpcomponents:httpcore:4.0.1
|         |    +--- commons-logging:commons-logging:1.1.1
|         |    \--- commons-codec:commons-codec:1.3
|         +--- org.khronos:opengl-api:gl1.1-android-2.1_r1
|         +--- xerces:xmlParserAPIs:2.6.2
|         +--- xpp3:xpp3:1.1.4c
|         \--- org.json:json:20080701

所以你需要排除这个库的 com.google.android

implementation ('com.foursquare:foursquare-android-oauth:1.0.3'){
        exclude group: 'com.google.android'
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

库类(来自 Android sdk)取决于程序类(同样,Android sdk) 的相关文章

随机推荐

  • 如何重新搜索或重新匹配整个文件而不将其全部读入内存?

    我希望能够对整个文件运行正则表达式 但我希望不必立即将整个文件读入内存 因为将来我可能会处理相当大的文件 有没有办法做到这一点 谢谢 澄清 我无法逐行阅读 因为它可以跨越多行 您可以使用 mmap 将文件映射到内存 然后可以像普通字符串一样
  • Next.js 中传递动态路由的无效参数时如何返回 404 Not Found 页面和 HTTP 状态?

    例如 我有一条动态路线 blog article id 访问现有博客文章时 blog id that exist 它按预期工作 现在我要处理这个案例 blog id that does not exist适当地 代码在 blog id js
  • R 中的条件交叉表

    寻找使用 expss 包实现以下任务的最快方法 有了一个很棒的 expss 包 我们可以轻松地进行交叉表 它具有其他优点和交叉表的有用功能 我们可以轻松地对多个变量进行交叉表 如下所示 install packages expss libr
  • 将 dbml 中的连接字符串指向 app.config

    我可以直接将连接字符串指向Dbml designer cs到连接字符串app conf 我编写了下面的代码 它成功指向app config public leDataContext base ConfigurationManager Con
  • Htaccess - 重定向除一个网址之外的所有网址

    我正在尝试将所有网址从一个域重定向到另一个域 但一个 某种 这是我必须重定向的 htaccess 除了域之外 都保持相同的 url 例如 domain com something 转到domain2 com something Rewrit
  • boost C++ 无锁队列与共享队列

    我对多线程编程很陌生 我只知道最常见的生产者 消费者 队列 我正在使用 boost c 库 我不知道是否更好地使用 boost lockfree queue 或使用 mutex 和 condition variable 的 std queu
  • Me 关键字的行为不一致

    我注意到的行为MeVBA 代码中的关键字模板文件根据文档是否具有 ActiveX 控件而有所不同 带有 ActiveX 控件的文档 Me引用从模板创建的新文件 没有 ActiveX 控件的文档 Me引用模板而不是新文件 为了演示这种奇怪的行
  • Windows 控制台中的希腊字母

    我正在用 C 编写一个程序 当我在 cmd exe 中运行它时 我希望在菜单中包含希腊字符 有人说 为了包含希腊字符 你必须使用printf事情是这样的 printf charset IS0 1089 uffe 但他们不确定 有谁知道这是怎
  • 西里尔字母验证

    今天我遇到了一个有趣的缺陷 问题是我在俄罗斯部署了我的 Web 应用程序 并且名称值 在下面的方法中没有返回 true 作为字母数字 很好奇人们如何解决这样的问题 邓肯 private boolean isAlphaNumeric Stri
  • 在长按手势识别器上获取错误的 UIButton 标签

    我知道已经有很多类似的问题被问到 但我已经尝试了所有这些问题 并且在未能解决我的问题时我发布了我的问题 首先我尝试的问题是 1 如何通过longPressGestureRecognizer获取button tag https stackov
  • 将自签名 XAP 部署到 Windows Phone 8

    我们为 WP8 开发了一个应用程序 并希望通过 XAP 文件的下载 URL 在内部分发它 到目前为止我们已采取的步骤 使用Makecert exe生成带有XXX pvk的自签名XXX cer 无密码 使用 Pvk2Pfx exe 创建一个包
  • jquery ajax加载覆盖插件[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 没有 Sql Alchemy 引擎的 Dataframe 到 sql

    我有一个数据框 id value name 1 100 sam 2 766 abc 3 234 qqq 4 435 ppp 5 345 mmm 我想将此表保存到 SQL Server 数据库表 tab1 中 我可以df to sql 但当我
  • 在特定日期使用 CSS 更改背景?

    有谁知道如何在特定日期使用 CSS 自动更改网站的背景 比如情人节 复活节 圣诞节等 为此 您必须使用 PHP 或 JavaScript 等服务器端语言 例如 使用 PHP 您可以使用以下命令访问服务器日期 时间date http php
  • 在另一个线程中运行异步函数

    我正在评估异步 CTP 如何开始在另一个线程池的线程上执行异步函数 static async Task Test Do something await something static void Main string args Is th
  • 如何在 Firebase 文件上设置 Access-Control-Allow-Origin

    我正在尝试设置Access Control Allow Origin to 在某个文件上 这是我的 firebase json 文件 database rules database rules json hosting public pub
  • Xunit 以下构造函数参数没有匹配的夹具数据

    在使用 XUnit for NET 1 0 框架 net46 时 我不断收到此错误 以下构造函数参数没有匹配的夹具数据 我看过这个帖子 收集装置不会注入 https stackoverflow com questions 32319903
  • 使用 mmap 逐行读取文件

    我有一个程序可以逐行读取大小不同的文件 我想使用 mmap 但如何使用它来逐行读取文件 谢谢您的回答 一旦你有mmap 编辑文件后 您可以使该文件可用于合适的流缓冲区 从现有内存中读取数据 然后使用std getline include
  • 如何抑制 Qt Creator 中的警告

    我想知道是否可以在 Qt Creator 中抑制编译器特定的警告 我的 g 4 5 打印 警告 条件表达式中的枚举和非枚举类型 我想摆脱它 因为它非常烦人 乌班图 11 04 x64 g 4 5 QtCreator 2 01 Qt 4 7
  • 库类(来自 Android sdk)取决于程序类(同样,Android sdk)

    我们正在从 Android Gradle 插件 2 3 3 迁移到 Gradle 插件 3 0 1 我们的应用程序由应用程序模块和库模块组成 多个依赖项是可传递的 使用api关键字 但甚至使用implementation没有帮助 全部更改后