当我从 Android Studio 构建我的应用时,它可以正常工作。但是,当我从 Play Store 下载应用时,它会崩溃。
请查看附加的 Crashlytics 报告,里面指出了错误。
以下是我的build.gradle
文件。
apply plugin: 'com.android.application'
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'io.fabric'
repositories {
maven { url 'https://maven.fabric.io/public' }
}
android {
compileSdkVersion 28
defaultConfig {
applicationId "igpl.gfee.com.gfee"
minSdkVersion 15
targetSdkVersion 28
versionCode 4
versionName "1.0"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
multiDexEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:support-vector-drawable:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.aurelhubert:ahbottomnavigation:2.1.0'
implementation 'com.github.scottyab:showhidepasswordedittext:0.8'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'androidx.multidex:multidex:2.0.0'
implementation 'com.google.firebase:firebase-core:10.0.1'
implementation 'de.hdodenhof:circleimageview:1.2.1'
//implementation 'com.journeyapps:zxing-android-embedded:3.4.0'
implementation 'com.github.lzyzsd:circleprogress:1.2.1'
implementation 'com.budiyev.android:code-scanner:1.2.1'
implementation 'com.google.code.gson:gson:2.8.0'
//noinspection GradleCompatible
implementation 'com.google.firebase:firebase-messaging:15.0.0'
implementation 'com.yalantis:ucrop:2.2.0'
implementation 'com.github.chrisbanes:PhotoView:1.3.0'
// implementation 'com.facebook.shimmer:shimmer:0.1.0@aar'
//gson
implementation 'com.google.code.gson:gson:2.8.0'
implementation('com.crashlytics.sdk.android:crashlytics:2.9.2@aar') {
transitive = true;
}
//Retrofit and RxJava Integration
implementation 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
implementation 'com.squareup.picasso:picasso:2.4.0'
//gson and retrofit integration
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
implementation 'com.squareup.okhttp:okhttp:2.4.0'
implementation 'com.google.code.gson:gson:2.8.0'
implementation 'com.squareup.okhttp:okhttp-urlconnection:2.2.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.9.0'
implementation 'com.toptoche.searchablespinner:searchablespinnerlibrary:1.3.1'
//ButterKnife
implementation 'com.jakewharton:butterknife:8.8.1'
implementation 'com.github.silvestrpredko:dot-progress-bar:1.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}
apply plugin: 'com.google.gms.google-services'
以下是我的
androidmanifest
文件。<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="igpl.gfee.com.gfee">
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<!--<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/gfee_logo_new"
android:label="@string/app_name"
android:roundIcon="@mipmap/gfee_logo_new"
android:supportsRtl="true"
android:testOnly="false"
android:theme="@style/AppTheme"
tools:replace="android:icon,android:theme">
<activity
android:name=".SplashScreen"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".LoginActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".MainActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".Fragments.WorkSpace"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".Fragments.MainSurvey"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".Fragments.MainActivites.CreateOrganization"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".Fragments.MainActivites.AddressFragment"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".Fragments.MainActivites.CreateGroup"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".Fragments.Profile"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".QRScanner"
android:screenOrientation="portrait" />
<activity
android:name=".GoalDashBoard"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ProjectDashBoard"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".MileStoneDashBoard"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".TaskDetailsDashBoard"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".MeetingDashBoard"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".FingerprintActivity"
android:screenOrientation="portrait" />
<activity
android:name=".Fragments.EditProfile"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".WebRemote"
android:screenOrientation="portrait" />
<activity
android:name=".VersionNumber"
android:screenOrientation="portrait" />
<activity
android:name=".ChangePassword"
android:screenOrientation="portrait" />
<activity android:name=".Fragments.MainActivites.OrganizationsListData"
android:screenOrientation="portrait"/>
<activity android:name=".Fragments.MainActivites.OrganizationDashBoard"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan"/>
<activity android:name=".Fragments.MainActivites.GroupDashBoard"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan"/>
<activity android:name=".Fragments.MainActivites.GroupsListData"
android:screenOrientation="portrait"/>
<activity
android:name=".SurveyActivities.CreateSurvey"
android:screenOrientation="portrait" />
<activity android:name=".Fragments.Survey.SurveyinfoScreens"
android:screenOrientation="portrait"/>
<activity android:name=".Fragments.Survey.Survey_PaidInfoScreens"
android:screenOrientation="portrait"/>
<activity
android:name=".Utils.TempActivity"
android:configChanges="orientation|screenSize"
android:screenOrientation="portrait" />
<activity
android:name="com.yalantis.ucrop.UCropActivity"
android:screenOrientation="portrait" />
<meta-data
android:name="io.fabric.ApiKey"
android:value="262e4ef469d58d4188b4f4c8169fd4e4fe1417a3" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/splash_logo" />
<!--
<activity
android:name=".Fragments.Main2Activity"
android:label="@string/title_activity_main2"></activity>
-->
<receiver android:name=".BoardcastReceiver.IncomingSms">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
<receiver
android:name=".FCM.FirebaseDataReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</receiver>
<receiver
android:name=".FCM.MyBroadcastReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</receiver>
<service android:name=".FCM.MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service
android:name=".FCM.MyFirebaseInstanceIDService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<receiver
android:name="com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver"
android:permission="android.permission.INSTALL_PACKAGES"
android:enabled="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER"/>
</intent-filter>
</receiver>
<activity
android:name=".Fragments.MainActivites.OrganizationDetails"
android:screenOrientation="portrait"
android:label="@string/title_activity_scrolling"
android:theme="@style/AppTheme"></activity>
<activity android:name=".Fragments.MainActivites.OrganizationSummary"
android:screenOrientation="portrait"/>
<activity android:name=".Fragments.MainActivites.ImageZoomActivity"
android:screenOrientation="portrait"/>
</application>
</manifest>
proguard
混淆了那个类。 - Manoj Perumarath