2015-03-17 3 views
1

Я использую вид карты. Я добавил библиотеку игровых сервисов Google в свой проект как проект зависимости, и он отлично работает. Но если я попытаюсь импортировать его в папку libs моего проекта и добавить его в путь сборки java, он даст ошибку.Добавить библиотеку игровых сервисов google по пути сборки java

Могу ли я добавить библиотеку игровых сервисов google в java build path? Если нет, то почему?

ошибка показала в консоли:

[2015-03-17 13:10:28 - LifeScience] '\\Dragon\d\Android\eclipse' 
[2015-03-17 13:10:28 - LifeScience] CMD.EXE was started with the above path as the current directory. 
[2015-03-17 13:10:28 - LifeScience] UNC paths are not supported. Defaulting to Windows directory. 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.cast.TextTrackStyle: can't find referenced class android.view.accessibility.CaptioningManager 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.cast.TextTrackStyle: can't find referenced class android.view.accessibility.CaptioningManager$CaptionStyle 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.cast.TextTrackStyle: can't find referenced class android.view.accessibility.CaptioningManager$CaptionStyle 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.cast.TextTrackStyle: can't find referenced class android.view.accessibility.CaptioningManager$CaptionStyle 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.cast.TextTrackStyle: can't find referenced class android.view.accessibility.CaptioningManager$CaptionStyle 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.cast.TextTrackStyle: can't find referenced class android.view.accessibility.CaptioningManager$CaptionStyle 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.cast.TextTrackStyle: can't find referenced class android.view.accessibility.CaptioningManager 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.cast.TextTrackStyle: can't find referenced class android.view.accessibility.CaptioningManager 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.cast.TextTrackStyle: can't find referenced class android.view.accessibility.CaptioningManager$CaptionStyle 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.dynamic.b: can't find referenced method 'android.app.Fragment getParentFragment()' in class android.app.Fragment 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.fitness.service.FitnessSensorService$a: can't find referenced class android.app.AppOpsManager 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.fitness.service.FitnessSensorService$a: can't find referenced class android.app.AppOpsManager 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.games.internal.PopupManager$PopupManagerHCMR1: can't find referenced method 'android.view.Display getDisplay()' in class android.view.View 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.internal.an$2: can't find referenced method 'void evaluateJavascript(java.lang.String,android.webkit.ValueCallback)' in class android.webkit.WebView 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.internal.gp: can't find referenced method 'java.lang.String getDefaultUserAgent(android.content.Context)' in class android.webkit.WebSettings 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.internal.gp: can't find referenced method 'void setMediaPlaybackRequiresUserGesture(boolean)' in class android.webkit.WebSettings 
[2015-03-17 13:10:28 - LifeScience] Warning: com.google.android.gms.internal.gv: can't find referenced method 'void evaluateJavascript(java.lang.String,android.webkit.ValueCallback)' in class android.webkit.WebView 
[2015-03-17 13:10:28 - LifeScience]  You should check if you need to specify additional program jars. 
[2015-03-17 13:10:28 - LifeScience] Warning: there were 11 unresolved references to classes or interfaces. 
[2015-03-17 13:10:28 - LifeScience]   You may need to specify additional library jars (using '-libraryjars'). 
[2015-03-17 13:10:28 - LifeScience] Warning: there were 6 unresolved references to program class members. 
[2015-03-17 13:10:28 - LifeScience]   Your input classes appear to be inconsistent. 
[2015-03-17 13:10:28 - LifeScience]   You may need to recompile them and try again. 
[2015-03-17 13:10:28 - LifeScience]   Alternatively, you may have to specify the option 
[2015-03-17 13:10:28 - LifeScience]   '-dontskipnonpubliclibraryclassmembers'. 
[2015-03-17 13:10:28 - LifeScience] java.io.IOException: Please correct the above warnings first. 
[2015-03-17 13:10:28 - LifeScience]  at proguard.Initializer.execute(Initializer.java:321) 
[2015-03-17 13:10:28 - LifeScience]  at proguard.ProGuard.initialize(ProGuard.java:211) 
[2015-03-17 13:10:28 - LifeScience]  at proguard.ProGuard.execute(ProGuard.java:86) 
[2015-03-17 13:10:28 - LifeScience]  at proguard.ProGuard.main(ProGuard.java:492) 

Пожалуйста, помогите мне решить эту проблему.

Редактировать

Я добавил dontwarn в мой файл proguard.txt и теперь я могу экспортировать мое заявление.

ProGuard-project.txt

-keepclassmembers class fqcn.of.javascript.interface.for.webview { 
    public *; 
} 

-keep class * extends java.util.ListResourceBundle { 
    protected Object[][] getContents(); 
} 

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { 
    public static final *** NULL; 
} 

-keepnames @com.google.android.gms.common.annotation.KeepName class * 
-keepclassmembernames class * { 
    @com.google.android.gms.common.annotation.KeepName *; 
} 

-keepnames class * implements android.os.Parcelable { 
    public static final ** CREATOR; 
} 

-dontskipnonpubliclibraryclasses 
-dontwarn com.google.** 
-dontwarn android.support.v4.** 

Я искал на Google, но концепция dontwarn не ясно me.Can кто-нибудь объяснить мне, что dontwarn делает и это безопасно использовать при обфускации?

+0

нет, вы не можете ...... потому что его целый проект, а не только библиотеки. почему вы хотите добавить его в libs? –

+0

Если я использую его как внешний проект, он создает проблему при создании proguard. – megha

+0

как раз сделайте некоторую конфигурацию к вашей proguard –

ответ

0

конфигурации Proguard для Google Play Service

-keep class * extends java.util.ListResourceBundle { 
    protected Object[][] getContents(); 
} 

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { 
    public static final *** NULL; 
} 

-keepnames @com.google.android.gms.common.annotation.KeepName class * 
-keepclassmembernames class * { 
    @com.google.android.gms.common.annotation.KeepName *; 
} 

-keepnames class * implements android.os.Parcelable { 
    public static final ** CREATOR; 
} 

Источник: Android Developer

+0

Я все еще получаю ошибки. – megha

+0

показать свой журнал. Я не знаю, какую ошибку вы получите –

+0

Я опубликовал ошибку, которую я получаю в консоли. – megha

2

Вы должны добавить google-play-services-lib как библиотека-проекта. Они обновили SDK. Существует несколько учебных пособий. Для Затмения легко:

Right click project -> properties -> Android 

enter image description here

0

Вы должны импортировать сервисы Google Play в качестве проекта. Затем перейдите к свойствам ваших проектов, а затем в путь сборки Android (где вы выбираете свои версии sdk), затем нажмите «Добавить» в проект сервисов Google Play. Очистите и постройте его.

+0

Проблема заключается в создании proguard. Я успешно добавил сервис google play в свой проект, но после добавления, если я попытаюсь экспортировать свой проект, я получаю сообщение об ошибке, о котором я упомянул выше. – megha

Смежные вопросы