我定义了一个 drawable
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#ffffffff" />
<size android:width="60dp"
android:height="40dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
但是如何在layout定义中使用它呢?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView
android:src="@drawable/ic_title"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我仍然只看到黑色背景.
编辑:
结果我:在drawable xmlns宣言中错过了一个.现在这个例子适用于姜饼设备:)
我是kotlin和Dagger的新人.我有一个小问题,我不知道如何解决,我找不到解决方案.
所以这就是我的意思
@Module
class AppModule (app: Application) {
private var application: Application;
init {
this.application = app;
}
@Provides fun provideApplication(): Application? {
return application;
}
@Provides fun provideResources(): Resources? {
return application.resources;
}
}
@Singleton
@Component(modules = arrayOf(AppModule::class))
interface AppComponent: AppComponentBase {
public class Initializer {
private constructor(){}
companion object {
fun Init(app: Application): AppComponent? {
return DaggerAppComponent.builder().appModule(AppModule(app)).build()
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
@Module
class AppModule (app: Application) {
private var application: Application;
init {
this.application = app;
} …Run Code Online (Sandbox Code Playgroud) 在过去的大约 24 小时内,我们在 Google 中看到了数千次崩溃MediaNotificationService:
Fatal Exception: android.app.RemoteServiceException
Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{f9a4deb u0 <our package name>/com.google.android.gms.cast.framework.media.MediaNotificationService}
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1855)
android.os.Handler.dispatchMessage (Handler.java:106)
android.os.Looper.loop (Looper.java:214)
android.app.ActivityThread.main (ActivityThread.java:6986)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1445)
Run Code Online (Sandbox Code Playgroud)
我在创建自己的前台服务时遇到过类似的问题,但由于这是在演员库中,我们无法控制它。
Chromecast 接收器由第三方处理。我们正在使用:
api "com.google.android.gms:play-services-cast:17.0.0"
api "com.google.android.gms:play-services-cast-framework:17.0.0"
Run Code Online (Sandbox Code Playgroud)
潜在线索:
更新:终于设法重现了这一点。在屏幕锁定的情况下长时间投射内容,然后与设备断开连接时会发生崩溃。也许离解决方案更近了一步......
我在我的项目中添加了 Firebase Crashlytics,并使用以下代码强制创建了崩溃。崩溃已在 logcat 中创建并登录,但未出现在 Crashlytics 仪表板中!
我为我的项目启用了调试日志记录,并且在强制崩溃时看到了以下消息,但我不知道这是什么/问题是什么?
我可以在 Fabric 控制台中看到我的错误,但它们没有显示在 Firebase 中。在 Firebase 中,过去 30 分钟内的用户等 Analytics 报告适用于我的应用程序。我已经尝试了大约 3 天,但仍然看不到我的仪表板中的错误!
我的代码:
Button crashBtn=findViewById(R.id.crashBtn);
crashBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Crashlytics.getInstance().crash();
}
});
Run Code Online (Sandbox Code Playgroud)
使用 adb 启用调试日志后我的错误:
01-30 09:38:58.919 24986 24986 D CrashlyticsCore: Crashlytics is handling uncaught exception "java.lang.ArrayIndexOutOfBoundsException: length=2; index=10" from thread main
01-30 09:38:58.956 24986 25028 D CrashlyticsCore: No log data to include with this event.
01-30 09:38:59.121 24986 25028 D CrashlyticsCore: Closing open sessions.
01-30 …Run Code Online (Sandbox Code Playgroud) 发现了Crashlytics.app问题。应用程式未处理Xcode建立成功通知。要解决此问题,请在调试模式下设置“构建设置->调试信息格式->具有dSYM文件的DWARF”。
使用应用程序包时,存在用户将自定义 APK“旁加载”到不兼容设备上的风险。这可能会导致崩溃,因为所需的密度/语言将不存在。
\n\nMissingSplitsManager为了解决这个问题, Google Play Core 中有一个方便的工具。这会在启动时向用户显示有用的错误,而不是崩溃。需要做的就是将以下内容添加到应用程序类中:
override fun onCreate() { \n if (MissingSplitsManagerFactory.create(this).disableAppIfMissingRequiredSplits()) {\n return\n }\n super.onCreate()\n} \nRun Code Online (Sandbox Code Playgroud)\n\n此检查非常容易实现,之前可以在https://developer.android.com/guide/app-bundle/sideload-check上找到详细说明。到处都有指向此内容的链接,例如在 Realm 问题中或在MissingSplitsManager 文档的顶部。
\n\n但是,此链接现在重定向到“已知问题”部分,其中非常模糊:
\n\n\n\n\n部分安装旁加载应用程序\xe2\x80\x94,即未使用 Google Play 商店安装且缺少一个或多个必需的拆分 APK\xe2\x80\x94 的应用程序在所有 Google 认证设备和运行 Android 10 的设备上失败( API 级别 29) 或更高。通过 Google Play 商店下载您的应用程序时,Google 会确保安装该应用程序的所有必需组件。
\n
所以发生了什么事?为什么不再提及库的简单检查,甚至在库的文档中也是如此。
\n\n也许该库存在一些未记录的问题?也许 Google 根本不想帮助侧载?
\n这是我关于 Play Services Cast Framework 的问题的后续,其中解决方案似乎从 v17.0.0 更新到 v18.0.0。不幸的是,新版本依赖于 Dagger 2,而(大型且复杂的)项目是 Dagger 1。
我们目前正在使用:
api "com.google.android.gms:play-services-cast:17.0.0"
api "com.google.android.gms:play-services-cast-framework:17.0.0"
Run Code Online (Sandbox Code Playgroud)
将这些更新到 18.0.0 会导致:
> 1 exception was raised by workers:
java.lang.RuntimeException: Duplicate class dagger.Lazy found in modules dagger-1.2.2.jar (com.squareup.dagger:dagger:1.2.2) and dagger-2.22.jar (com.google.dagger:dagger:2.22)
Duplicate class dagger.MembersInjector found in modules dagger-1.2.2.jar (com.squareup.dagger:dagger:1.2.2) and dagger-2.22.jar (com.google.dagger:dagger:2.22)
Duplicate class dagger.Module found in modules dagger-1.2.2.jar (com.squareup.dagger:dagger:1.2.2) and dagger-2.22.jar (com.google.dagger:dagger:2.22)
Duplicate class dagger.Provides found in modules dagger-1.2.2.jar (com.squareup.dagger:dagger:1.2.2) and dagger-2.22.jar (com.google.dagger:dagger:2.22)
Run Code Online (Sandbox Code Playgroud)
理想情况下,我可以让库的新版本使用 Dagger 2,而应用程序的其余部分使用 Dagger 1。重新设计项目以使用 …
本周更新 AndroidStudio 我被迫添加 AnnotationProcessor:
(根本不明白是为了什么。)
现在必须显式声明注释处理器。发现编译类路径上的以下依赖项包含注释处理器。请将它们添加到annotationProcessor配置中。kotlin-compiler-embeddable-1.3.11.jar (org.jetbrains.kotlin:kotlin-compiler-embeddable:1.3.11)
所以我添加到我的 app.build.gradle 中:
dependencies {
...
annotationProcessor "org.jetbrains.kotlin:kotlin-compiler-embeddable:$kotlin_version"
...
}
Run Code Online (Sandbox Code Playgroud)
但现在我无法摆脱以下错误:
Run tasks :app:checkDebugDuplicateClasses
> Duplicate class found in modules annotations-13.0.jar (org.jetbrains:annotations:13.0) and kotlin-compiler-embeddable-1.3.11.jar (org.jetbrains.kotlin:kotlin-compiler-embeddable:1.3.11)
Run Code Online (Sandbox Code Playgroud)
我不知道org.jetbrains:annotations:13.0在我的 gradles 或设置中声明/导入的位置。
我该如何解决这个错误?
因此,我需要使用php检查引用者到页面,如果是*.example.com或*.anothersite.com,则执行代码,但如果没有,则重定向到其他地方.
我如何检查HTTP_REFERER是否等于具有通配符的那些值?
谢谢!
编辑:网址将包含多个域,因此正则表达式需要匹配找到的第一次出现.
我已将应用程序从“ Fabric Crashlytics”迁移到“ Firebase Crashlytics”,并成功测试了新的崩溃是否到来。
但是很遗憾,我没有选择搜索问题的选项。我看到了“按用户搜索”选项,但是如果我想通过崩溃消息进行搜索,则不能。
这就是我引发异常的方式:
throw new RuntimeException("FirebaseTestDebug crash");
Run Code Online (Sandbox Code Playgroud)
我希望能够通过以下字符串搜索此异常: "FirebaseTestDebug"
firebase crashlytics crashlytics-android firebase-crash-reporting google-fabric
android ×6
crashlytics ×3
dagger-2 ×2
firebase ×2
kotlin ×2
chromecast ×1
crash ×1
drawable ×1
gradle ×1
ios ×1
java ×1
php ×1
regex ×1
sideloading ×1