2016-05-04 13 views
1

私のアプリの次回のアップデートのために署名したAPKを作成しています。しかし、このAPKファイルをデバイスに転送してインストールすると、アプリを開くとクラッシュします。Androidスタジオ - リリースクラッシュのためにAPKに署名しました

apply plugin: 'com.android.application' 
android { 
compileSdkVersion 23 
buildToolsVersion '23.0.0' 
useLibrary 'org.apache.http.legacy' 

defaultConfig { 
    applicationId "com.washkart.activities" 
    minSdkVersion 15 
    targetSdkVersion 19 

    // Enabling multidex support. 
    multiDexEnabled true 
} 

repositories { 
    jcenter() 
    flatDir { 
     dirs 'libs' 
    } 
} 



buildTypes { 
    release { 
     shrinkResources true 
     minifyEnabled true 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt' 
    } 
} 
dataBinding { 
    enabled = true 
} 
} 

dependencies { 
compile files('libs/joda-time-2.4.jar') 
compile(name:'acra-4.7.0', ext:'aar') 
compile project(':ViewPagerIndicator') 
compile 'com.google.android.gms:play-services:8.4.0' 
compile 'com.android.support:appcompat-v7:23.1.1' 
compile 'com.google.android.gms:play-services-ads:8.4.0' 
compile 'com.google.android.gms:play-services-identity:8.4.0' 
compile 'com.google.android.gms:play-services-gcm:8.4.0' 
compile 'com.facebook.android:facebook-android-sdk:4.6.0' 
compile 'com.google.android.gms:play-services-analytics:8.4.0' 
compile 'com.android.support:support-v4:23.1.1' 
compile 'com.android.support:multidex:1.0.0' 
} 
apply plugin: 'com.google.gms.google-services' 

と私は警告/エラーを回避するために、私のProGuardのファイルの行の下に追加しました:ここ

は私のモジュールのGradleファイルのコードであるここに私のプロジェクトレベルのGradleファイル

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.5.0' 
     classpath 'com.google.gms:google-services:2.0.0-alpha6' 

    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

されており、私はAPKに署名しました:

-keepnames class org.apache.** {*;} 
-keep class org.apache.** {*;} 
-keep class android.support.v4.** { *; } 
-keep interface android.support.v4.app.** { *; } 
-dontnote android.support.v4.** 
-keep class org.joda.time.** { *; } 
-keep interface org.joda.time.** { *;} 
-keep class android.support.v7.app.** { *; } 
-keep interface android.support.v7.app.** { *; } 
-dontskipnonpubliclibraryclassmembers 

-dontwarn org.apache.commons.logging.LogFactory 
-dontwarn org.apache.http.annotation.ThreadSafe 
-dontwarn org.apache.http.annotation.Immutable 
-dontwarn org.apache.http.annotation.NotThreadSafe 
-dontwarn org.jodatime.time.** 
-dontwarn org.joda.convert.** 
-dontwarn org.apache.http.** 
-dontwarn android.net.** 

私はアンドロイドスタジオ1.5.1を持っており、テストしていますAndroid 4.4.2で ビルドで生成するために使用した手順> Signed APKを生成>ドロップダウンからモジュールを選択>キーストアファイル、エイリアスとパスワードを追加>ビルドタイプ=リリース>終了

答えて

0

私は同じ問題に直面していました。あなたのproguardファイルで。 minifyEnabled trueを使用した場合、 プロゴードを有効にしました。 proguardを無効にするには無効にするか、hereからproguardを使用する方法について読むことは、proguard-rules.proに追加されていないクラスファイルやその他のリソースを破棄するためです。

関連する問題