我正在尝试更新我的项目中的 google 和 firebase SDK 库以解决install_referrer 弃用的问题,但同步后出现错误
ERROR: Failed to resolve: com.google.firebase:firebase-crash:17.2.2
Run Code Online (Sandbox Code Playgroud)
合并清单上的此错误
ERROR: Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:28:5-422:19 to override.
Run Code Online (Sandbox Code Playgroud)
这是我的 firebase 和 google 依赖项
implementation 'com.google.firebase:firebase-analytics:17.2.2'
implementation 'com.google.firebase:firebase-crash:17.2.2'
implementation 'com.google.firebase:firebase-config:19.1.1'
implementation 'com.google.firebase:firebase-auth:19.2.0'
implementation 'com.google.android.gms:play-services-auth:17.0.0'
implementation 'com.google.android.gms:play-services-base:17.1.0'
implementation 'com.google.android.gms:play-services-analytics:16.0.8'
implementation 'com.google.android.gms:play-services-maps:17.0.0'
implementation 'com.google.firebase:firebase-core:17.2.2'
implementation 'com.google.firebase:firebase-ads:18.3.0'
implementation 'com.google.firebase:firebase-messaging:20.1.0'
Run Code Online (Sandbox Code Playgroud) 我收到了来自谷歌的电子邮件:
我们最近宣布将弃用 install_referrer 意图广播机制。由于您的一个或多个应用使用此 Intent 来跟踪引荐,我们希望确保您在 2020 年 3 月 1 日之前进行切换。在此日期之后,Play 商店应用的新版本将不再在应用安装后广播 install_referrer Intent。
我在 Stack 上检查了这个答案:install_referrer intent deprecation并遵循等待 Firebase 库更新的建议,现在我将我的项目更新到最新版本,但仍然在 package="com.google.firebase 下的清单合并中进入 INSTALL_REFERRER。 measurement_impl"
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.firebase.measurement_impl" >
<uses-sdk android:minSdkVersion="14" />
<!-- Required permission for App measurement to run. -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE" />
<application>
<receiver
android:name="com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver"
android:enabled="true"
android:exported="true"
android:permission="android.permission.INSTALL_PACKAGES" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
</application>
Run Code Online (Sandbox Code Playgroud)
这里是我在项目中使用的 firebase 版本
implementation 'com.google.firebase:firebase-messaging:20.1.0'
implementation 'com.google.firebase:firebase-analytics:17.2.2'
implementation 'com.google.firebase:firebase-crash:16.2.1'
implementation …Run Code Online (Sandbox Code Playgroud) 我希望我的工具栏占据状态栏的空间,并将用于它的图像作为状态栏的背景,我在我的活动中使用此代码成功地做到了这一点
// for using status bar space
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}
Run Code Online (Sandbox Code Playgroud)
问题是这段代码使我的活动布局即使是带有导航栏的空间也全屏显示,那么如何解决这个问题?
android android-layout android-toolbar android-statusbar android-navigation-bar
我正在尝试创建一个 hashmap 对象并从另一个 hashmap 分配它的值,但我发现副本上的更改影响了原始对象值
我怎样才能使副本不影响原件?
这是我的代码
HashMap<Integer, Integer> productOfferLimitsForCart = new HashMap<>();
productOfferLimitsForCart .put(Integer.valueOf(liveModel.getId()), 0);
HashMap<Integer, Integer> OfferLimitsForCalculations = new HashMap<>();
OfferLimitsForCalculations = productOfferLimitsForCart;
Run Code Online (Sandbox Code Playgroud) 将我的项目更新到 android 10 后,我的 HomeActivity 崩溃了,该应用程序在旧版本的 android 上运行良好,但是当我使用 Android 10 设备时会发生崩溃,我有一个启动活动并且它运行正常,但是在移动到onCreate setContentView(R.layout.activity_home)上的主页活动 ;
这是崩溃报告:
E/UncaughtException: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.aia.portercustomer/com.aia.portercustomer.activity.HomeActivity}: android.view.InflateException: Binary XML file line #17 in com.aia.portercustomer:layout/abc_screen_simple: Binary XML file line #17 in com.aia.portercustomer:layout/abc_screen_simple: Error inflating class androidx.appcompat.widget.FitWindowsLinearLayout
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3271)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3410)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2017)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7397)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)
Caused by: android.view.InflateException: Binary XML file line #17 in com.aia.portercustomer:layout/abc_screen_simple: Binary XML file line …Run Code Online (Sandbox Code Playgroud) android activity-lifecycle android-activity android-studio android-10.0