我将我的项目更新为最新的Android API,该项目现在有多个已弃用的方法.Android Studio是否有一种很酷的方式来列出包含所述方法的所有类,例如TODO窗口?我知道我可以通过每个课程和有条不紊地搜索代码,但我宁愿让自己变得容易.任何帮助,提示和/提示都非常感谢.
我的团队和我开发了Android应用程序,并决定了所有应遵循的编码指南.因此,我开始按照以下链接实现自定义lint规则:
我遇到的问题实际上是在项目的基础上实现这些lint规则.当我跑步时./gradlew clean build test install,按照规定适用规则,一切都很顺利.但是当我用./gradlew aarWrapper:assemble它构建aar库并将其添加到我的libs文件夹时,linting不起作用.
我将以下内容添加到我的build.gradle文件中以添加库
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile(name: 'aarWrapper-debug', ext: 'aar')
}
Run Code Online (Sandbox Code Playgroud)
我不确定我错过了什么,但是当我运行./gradlew lint它时,运行linter而不是我的自定义规则......非常感谢任何帮助,提示或建议.
编辑1
这是运行gradle时的终端输出.
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareAarWrapperDebugLibrary UP-TO-DATE
:app:prepareComAndroidSupportAnimatedVectorDrawable2421Library UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72421Library UP-TO-DATE
:app:prepareComAndroidSupportDesign2421Library UP-TO-DATE
:app:prepareComAndroidSupportRecyclerviewV72421Library UP-TO-DATE
:app:prepareComAndroidSupportSupportCompat2421Library UP-TO-DATE
:app:prepareComAndroidSupportSupportCoreUi2421Library UP-TO-DATE
:app:prepareComAndroidSupportSupportCoreUtils2421Library UP-TO-DATE
:app:prepareComAndroidSupportSupportFragment2421Library UP-TO-DATE
:app:prepareComAndroidSupportSupportMediaCompat2421Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42421Library UP-TO-DATE
:app:prepareComAndroidSupportSupportVectorDrawable2421Library UP-TO-DATE
:app:prepareComAndroidVolleyVolley100Library UP-TO-DATE
:app:prepareComCrashlyticsSdkAndroidAnswers138Library …Run Code Online (Sandbox Code Playgroud) 我的团队和我开发了Android应用程序,并决定了所有应遵循的编码指南.因此,我开始实现可在此处找到的自定义lint规则,并将其添加到Jenkins的自动构建过程中.
我们现在遇到的问题是,在将我们的Android项目升级
'com.android.tools.build:gradle:2.2.0'到
之后,这些规则不再有效'com.android.tools.build:gradle:2.3.0'
我们不断得到错误:
java.lang.NoSuchMethodError: com.android.tools.lint.detector.api.JavaContext.getContents()Ljava/lang/String;
当切换回gradle 2.2.0all时,检查自定义规则并构建应用程序.
我尝试在lint存储库中更新gradle,不幸的是在第72行的TodoDetector中有完全相同的问题.在Android工作室中,所有依赖关系都得到了很好的解决,但在尝试构建和部署库时./gradlew clean build test install,我们得到了上面列出的错误.
我一直在寻找并且还没有为这个问题找到可行的解决方案.非常感谢任何帮助,提示或建议.
终端输出
:clean
:aarWrapper:clean
:compileJava
:processResources UP-TO-DATE
:classes
:jar
:assemble
:compileTestJava
:processTestResources UP-TO-DATE
:testClasses
:test
:check
:build
:aarWrapper:preBuild UP-TO-DATE
:aarWrapper:preDebugBuild UP-TO-DATE
:aarWrapper:checkDebugManifest
:aarWrapper:prepareDebugDependencies
:aarWrapper:compileDebugAidl
:aarWrapper:compileDebugNdk UP-TO-DATE
:aarWrapper:compileLint
:aarWrapper:copyDebugLint UP-TO-DATE
:aarWrapper:mergeDebugShaders
:aarWrapper:compileDebugShaders
:aarWrapper:generateDebugAssets
:aarWrapper:mergeDebugAssets
:aarWrapper:mergeDebugProguardFiles UP-TO-DATE
:aarWrapper:packageDebugRenderscript UP-TO-DATE
:aarWrapper:compileDebugRenderscript
:aarWrapper:generateDebugResValues
:aarWrapper:generateDebugResources
:aarWrapper:packageDebugResources
:aarWrapper:processDebugManifest
:aarWrapper:generateDebugBuildConfig
:aarWrapper:processDebugResources
:aarWrapper:generateDebugSources
:aarWrapper:incrementalDebugJavaCompilationSafeguard
:aarWrapper:javaPreCompileDebug
:aarWrapper:compileDebugJavaWithJavac
:aarWrapper:processDebugJavaRes UP-TO-DATE
:aarWrapper:transformResourcesWithMergeJavaResForDebug
:aarWrapper:transformClassesAndResourcesWithSyncLibJarsForDebug
:aarWrapper:mergeDebugJniLibFolders
:aarWrapper:transformNativeLibsWithMergeJniLibsForDebug
:aarWrapper:transformNativeLibsWithStripDebugSymbolForDebug
:aarWrapper:transformNativeLibsWithSyncJniLibsForDebug …Run Code Online (Sandbox Code Playgroud) 我的 Android 应用程序有多种风格:Production、Staging、Review等,以及Release和Debug构建类型。当我运行./gradlew app:dependencies它时,它自然会返回一个具有每种风格/构建类型的依赖树:
这导致依赖树超过 32000 行,使其有点难以评估。我正在寻找的是一个依赖命令,我可以在其中指定风格和构建类型以避免出现可怕的依赖树报告,例如:
./gradlew app:stagingDebugDependencies
非常感谢任何帮助、提示和/或提示。
我环顾了网上,但尚未找到适合我特定需求的解决方案。我正在寻找一种使用共享意图共享信息的方法,该意图提供可点击的链接,例如:
查看此新闻文章
我已经在我的android应用中成功设置了一个共享意图,如下所示:
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject Text");
shareIntent.putExtra(Intent.EXTRA_TEXT, "Check out this news article" + "\n\n" + getResources().getText(R.string.shared_via));
shareIntent.setType("text/plain");
startActivity(Intent.createChooser(shareIntent, "Share this article with..."));
Run Code Online (Sandbox Code Playgroud)
我的字符串资源如下所示:
<string name="shared_via">via <a ref="http://google.com">Jimmy's News App</a></string>
Run Code Online (Sandbox Code Playgroud)
但是,共享功能可以在电子邮件,Twitter等中共享时发挥应有的作用。链接将被忽略,并且推文仅显示如下纯文本:

我尝试使用MIME类型,但还是没有雪茄。共享时是否有可点击的“吉米新闻应用程序”?对于任何帮助和提示,我都非常感激。
提前致谢!