我知道这个问题已经有很多答案和解决方法......但是没有什么对我有用......
我正在尝试将推送通知添加到我的Android应用程序中.为此,我使用"google-play-services_lib"和"google-play-services.jar".我按照谷歌设置Google Play Services for Eclipse 提供的教程.
我做了什么 :
将现有的Android代码导入Workspace(/ android-sdks/extras/google/google_play_services/libproject/google-play-services_lib),选中"将项目复制到工作区"...根据谷歌的建议
注意:您应该引用复制到开发工作区的库的副本 - 不应直接从Android SDK目录引用库.
将库引用到我的项目中(右键单击 - >属性 - > Android - >库 - >添加 - > google-play-services_lib)
在我的projetc libs文件夹中添加了google-play-services.jar的副本.
将jar文件添加到我的构建路径...我必须取消选中Order and export选项卡下的jar文件以避免以下错误:
[2014-07-14 09:41:56 - Dex Loader]无法执行dex:多个dex文件定义Lcom/google/android/gms/internal/a;
[2014-07-14 09:41:56]转换为Dalvik格式失败:无法执行dex:多个dex文件定义Lcom/google/android/gms/internal/a;
在我的清单文件中添加了以下内容:
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Run Code Online (Sandbox Code Playgroud)创建专业保护例外
-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 …Run Code Online (Sandbox Code Playgroud)