在下面的build.gradle中,我添加了配置部分以避免双重包含支持库.支持库用于主项目和依赖项目,如facebook sdk.如果没有配置部分,我会得到"意想不到的顶级异常".添加该配置会使错误消失,应用程序一切正常.
现在,我正在尝试将RecyclerView添加到我的应用程序中,并且在充气Recyclerview时找不到RecyclerView类(尽管它构建正常).如果我删除了facebook SDK和配置部分,则recyclerview工作正常.
问题:我可以对build.gradle进行哪些更改以使facebook SDK正常工作并且RecyclerView可以正常工作?换句话说,为什么配置部分不包括v7,只是它应该排除v4?
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-v4:+'
compile 'com.android.support:support-v13:+'
compile 'com.android.support:cardview-v7:+'
compile 'com.android.support:recyclerview-v7:+'
compile 'com.google.android.gms:play-services:4.4.52'
compile project(':facebook-3.15')
compile project(':parse-1.5.1')
compile project(':viewpagerindicator-2.4.1')
}
configurations {
// to avoid double inclusion of support libraries
all*.exclude group: 'com.android.support', module: 'support-v4'
}
Run Code Online (Sandbox Code Playgroud) 我通过在Android Studio中执行以下操作来生成APK:Build - > Build APK(s).
我将这个APK复制到手机的内存中并启动它.它安装很好,但只是第一次.我然后卸载现有的应用程序并再次启动相同的APK,现在它说"应用程序未安装".
如果我再次将相同的APK从我的电脑复制到此手机,那么它将再次安装.
我想从yii2中的User表中获取一个特定列,使用下面的活动记录是我的代码
$model = User::findOne(['id' => 1]);
Run Code Online (Sandbox Code Playgroud)
这将返回表中用户ID等于1的所有列,但是假设我只想从此列中获取用户名和电子邮件如何使用活动记录编写查询,我尝试了下面的代码但它不会工作.. `
$model = User::find('username','email')->where('id'=1)
Run Code Online (Sandbox Code Playgroud) 我在我的两个Fragment布局中有浮动动作按钮,有时它们移动到错误的位置,尽管我使用CoordinatorLayout.
这是我片段的代码:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout android:id="@+id/notes_layout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".fragments.NotesFragment">
<android.support.v7.widget.RecyclerView
android:id="@+id/notes_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/new_note_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:clickable="true"
android:src="@drawable/ic_add_black_48dp"
app:layout_anchor="@id/notes_layout"
app:layout_anchorGravity="bottom|center"
android:onClick="openNewNote"/>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么FAB有时会走向错误的位置?
我不知道这个错误是怎么发生的,我昨天关闭了android工作室并关闭了电脑,今天,我打开电脑并打开了android工作室,然后在打开android工作室后很快就出现了这个错误.
我试过了什么?
使缓存无效
重命名和删除看起来像重复的文件.
删除.gradle和清除/重建项目
C:\ Users \用户joaoa.gradle \缓存\变换-1 \文件-1.1 \程序兼容性-v7-27.0.1.aar\70b6446a0ad42e67664086d0c5dca4d5\RES \值\ values.xml
C:\ Users \用户joaoa \桌面\ MyPast\MyProjects下\ project001 \应用\构建\中间体\增量\ mergeDebugResources\merged.dir \值\ values.xml
错误:java.util.concurrent.ExecutionException:com.android.tools.aapt2.Aapt2Exception:AAPT2错误:检查日志以获取详细信息
错误:任务':app:mergeDebugResources'的执行失败.错误:java.util.concurrent.ExecutionException:com.android.tools.aapt2.Aapt2Exception:AAPT2错误:检查日志以获取详细信息
启动Layout Inspector时收到错误消息:"获取视图层次结构时出错:意外错误:空视图层次结构".
在Logcat中也有一个例外:
12-10 23:46:56.812 18833-18840/com.tst.nikita.yandextranslater I/art: Exception thrown by dispatcher for 0x56555254
12-10 23:46:56.812 18833-18840/com.tst.nikita.yandextranslater W/System.err: java.lang.NoClassDefFoundError: android.graphics.drawable.Icon
12-10 23:46:56.812 18833-18840/com.tst.nikita.yandextranslater W/System.err: at libcore.reflect.InternalNames.getClass(InternalNames.java:55)
12-10 23:46:56.812 18833-18840/com.tst.nikita.yandextranslater W/System.err: at java.lang.Class.getDexCacheType(Class.java:479)
12-10 23:46:56.812 18833-18840/com.tst.nikita.yandextranslater W/System.err: at java.lang.reflect.ArtMethod.getDexCacheType(ArtMethod.java:236)
12-10 23:46:56.812 18833-18840/com.tst.nikita.yandextranslater W/System.err: at java.lang.reflect.ArtMethod.getParameterTypes(ArtMethod.java:176)
12-10 23:46:56.812 18833-18840/com.tst.nikita.yandextranslater W/System.err: at java.lang.reflect.Method.getParameterTypes(Method.java:174)
12-10 23:46:56.812 18833-18840/com.tst.nikita.yandextranslater W/System.err: at java.lang.Class.getDeclaredMethods(Class.java:802)
12-10 23:46:56.812 18833-18840/com.tst.nikita.yandextranslater W/System.err: at android.view.ViewDebug.getExportedPropertyMethods(ViewDebug.java:1118)
12-10 23:46:56.812 18833-18840/com.tst.nikita.yandextranslater W/System.err: at android.view.ViewDebug.exportMethods(ViewDebug.java:1209)
12-10 23:46:56.812 18833-18840/com.tst.nikita.yandextranslater W/System.err: at android.view.ViewDebug.dumpViewProperties(ViewDebug.java:1155)
12-10 23:46:56.812 18833-18840/com.tst.nikita.yandextranslater W/System.err: at android.view.ViewDebug.dumpViewProperties(ViewDebug.java:1141)
12-10 …Run Code Online (Sandbox Code Playgroud) 今天我安装了最新版本的Android Studio
我正在学习Android中的Floating Widgets
我开始应用这个例子
https://www.spaceotechnologies.com/android-floating-widget-tutorial/
它汇编好了
但是当我在模拟器中运行它时会崩溃
给我这个错误
08-28 22:52:02.932 7400-7400/com.asmgx.MyApp.MyApp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.asmgx.MyApp.MyApp, PID: 7400
java.lang.RuntimeException: Unable to create service com.asmgx.MyApp.MyApp.FloatWidgetService: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@7c93828 -- permission denied for window type 2002
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3544)
at android.app.ActivityThread.access$1300(ActivityThread.java:199)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1666)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@7c93828 -- permission denied for window type 2002
at android.view.ViewRootImpl.setView(ViewRootImpl.java:822)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:356)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93)
at …Run Code Online (Sandbox Code Playgroud) 有没有人知道使用Android的默认数字选择器允许负数的简单方法?我知道它是不允许这样的InputFilter,但有没有简单的方法来覆盖而不重写整个小部件?
这是一个简单的问题.创建具有间隔的Firebase作业调度程序作业意味着作业将在大约这么长时间内开始.有没有办法,除了破坏和重建工作,简单地重置计时器?
以下是Gradle规格:
在阅读了gradle.com的gradle构建优化之后,我下载了最新的稳定JVM(9.0.4)并在Android Studio中交换了JVM(Java 8)(默认 - 嵌入式).完成此操作并执行后gradle build,我进入了java.lang.NullPointerException (no error message)我的终端.下面是完整的堆栈跟踪.
因此,我切换回Android Studio附带的嵌入式JVM,但错误并没有消失.我无法确定性地评估此错误的原因.我试图清理,重建,使缓存无效,实际上,完全删除了.gradle文件,没有任何效果.此外,我删除了整个项目目录,并创建了一个新目录,通过git clone我的app存储库恢复内容(安全状态 - 在所有这些优化更改之前),即使这样也行不通.
下面是错误的完整堆栈跟踪.
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:94)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:89)
at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:70)
at org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator.java:34)
at org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(LifecycleProjectEvaluator.java:110)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:50)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:667)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:136)
at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:62)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:38)
at org.gradle.initialization.DefaultGradleLauncher$ConfigureBuild.run(DefaultGradleLauncher.java:261)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.initialization.DefaultGradleLauncher.configureBuild(DefaultGradleLauncher.java:173)
at …Run Code Online (Sandbox Code Playgroud)