2015-03-20 2 views
2

Когда я запускаю свою программу, я не получаю никаких проблем. Когда я пытаюсь сгенерировать подписанный apk, мне говорят, что getDefaultProguardFile не может быть разрешен. Как я могу это исправить. Вот код.Android Studio не может решить getDefaultProguardFile

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     applicationId "com.dose.apps.brainnoodles" 
     minSdkVersion 8 
     targetSdkVersion 21 
     versionCode 13 
     versionName "2.13" 
    } 
    buildTypes { 
     release { 
      //apply plugin: 'idea' 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:22.0.0' 
    compile files('libs/InMobi-4.5.3.jar') 
} 

Вот StackTrace, что попросили

Warning:android.support.v4.view.accessibility.AccessibilityNodeInfoCompatApi22: can't find referenced method 'void setTraversalAfter(android.view.View,int)' in library class android.view.accessibility.AccessibilityNodeInfo 
Warning:android.support.v4.media.session.MediaSessionCompatApi22: can't find referenced method 'void setRatingType(int)' in library class android.media.session.MediaSession 
Warning:android.support.v4.view.accessibility.AccessibilityNodeInfoCompatApi22: can't find referenced method 'android.view.accessibility.AccessibilityNodeInfo getTraversalBefore()' in library class android.view.accessibility.AccessibilityNodeInfo 
Warning:com.inmobi.commons.internal.ActivityRecognitionManager: can't find referenced class com.google.android.gms.common.GooglePlayServicesUtil 
Warning:android.support.v4.view.accessibility.AccessibilityNodeInfoCompatApi22: can't find referenced method 'void setTraversalAfter(android.view.View)' in library class android.view.accessibility.AccessibilityNodeInfo 
Warning:android.support.v4.view.accessibility.AccessibilityNodeInfoCompatApi22: can't find referenced method 'android.view.accessibility.AccessibilityNodeInfo getTraversalAfter()' in library class android.view.accessibility.AccessibilityNodeInfo 
Warning:android.support.v4.view.accessibility.AccessibilityNodeInfoCompatApi22: can't find referenced method 'void setTraversalBefore(android.view.View)' in library class android.view.accessibility.AccessibilityNodeInfo 
Warning:android.support.v4.view.accessibility.AccessibilityNodeInfoCompatApi22: can't find referenced method 'void setTraversalBefore(android.view.View,int)' in library class android.view.accessibility.AccessibilityNodeInfo 
Warning:com.inmobi.commons.internal.ActivityRecognitionManager$a: can't find referenced class com.google.android.gms.common.GooglePlayServicesUtil 
     You may need to add missing library jars or update their versions. 
Warning:there were 6 unresolved references to classes or interfaces. 
Warning:com.inmobi.commons.uid.a: can't find referenced class com.google.android.gms.common.GooglePlayServicesUtil 
     If your code works fine without the missing classes, you can suppress 
     the warnings with '-dontwarn' options. 
     (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass) 
Warning:there were 7 unresolved references to library class members. 
     You probably need to update the library versions. 
     (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember) 
:app:proguardRelease FAILED 
Error:Execution failed for task ':app:proguardRelease'. 
> java.io.IOException: Please correct the above warnings first. 
Information:BUILD FAILED 
+0

Это может, кажется, что вам не нужно, чтобы установить жесткий кодированный путь, студия получит его автоматически –

+0

вы можете отправить StackTrace, выполнив Gradle команду в терминале – Raghunandan

+0

@Raghunandan, текст которого я бегу? –

ответ

0

Вы, возможно, придется заменить buildtypes codepart с этим

signingConfigs { 
    release { 
     storeFile file("release.keystore") 
     storePassword "******" 
     keyAlias "******" 
     keyPassword "******" 
    } 
} 

buildTypes { 
    release { 
     signingConfig signingConfigs.release 
    } 
} 
7

я имел такую ​​же проблему. Обратите внимание, что в журнале они указывают вам пойти http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember и там он говорит:

Если вы разрабатываете для Android и ProGuard жалуется, что не может найти метод, который доступен только в последнее время версию Время выполнения Android, вы должны изменить цель сборки в файле проекта project.properties или файле build.gradle для этой последней версии. Вы можете указать другую версию minSdkVersion и другую целевуюSDKVersion в вашем файле AndroidManifest.xml.

Я изменил compileSdkVersion & targetSdkVersion от 21 до 22, и она работала.

+1

@ThatThatson, если этот или любой ответ решил ваш вопрос, пожалуйста, рассмотрите [его принятие] (http://meta.stackexchange.com/q/5234/179419), щелкнув галочку. Это указывает более широкому сообществу, что вы нашли решение и дали некоторую репутацию как самому, так и самому себе. Это не обязательно. – Sufian

1

@That Thatson:

Просто обновите ваш buildTypes вместо ваших. Попробуйте это.

buildTypes { 
     release { 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
Смежные вопросы