2014-01-15 47 views
6

我試圖編譯我的Android應用科爾多瓦,但我得到這個錯誤:包android.support.v4.app不存在(安卓17)

[javac] Compiling 104 source files to /Volumes/Work/workspace/android/poc/CordovaLib/bin/classes 
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/CordovaGCMBroadcastReceiver.java:5: package com.google.android.gcm does not exist 
[javac] import com.google.android.gcm.GCMBroadcastReceiver; 
[javac]       ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/CordovaGCMBroadcastReceiver.java:6: package com.google.android.gcm does not exist 
[javac] import static com.google.android.gcm.GCMConstants.DEFAULT_INTENT_SERVICE_CLASS_NAME; 
[javac]         ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/CordovaGCMBroadcastReceiver.java:6: static import only from classes and interfaces 
[javac] import static com.google.android.gcm.GCMConstants.DEFAULT_INTENT_SERVICE_CLASS_NAME; 
[javac]^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/CordovaGCMBroadcastReceiver.java:12: cannot find symbol 
[javac] symbol: class GCMBroadcastReceiver 
[javac] public class CordovaGCMBroadcastReceiver extends GCMBroadcastReceiver { 
[javac]            ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/GCMIntentService.java:5: package com.google.android.gcm does not exist 
[javac] import com.google.android.gcm.GCMBaseIntentService; 
[javac]       ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/GCMIntentService.java:18: package android.support.v4.app does not exist 
[javac] import android.support.v4.app.NotificationCompat; 
[javac]       ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/GCMIntentService.java:22: cannot find symbol 
[javac] symbol: class GCMBaseIntentService 
[javac] public class GCMIntentService extends GCMBaseIntentService { 
[javac]          ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/PushPlugin.java:18: package com.google.android.gcm does not exist 
[javac] import com.google.android.gcm.*; 
[javac]^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/CordovaGCMBroadcastReceiver.java:16: cannot find symbol 
[javac] symbol : variable DEFAULT_INTENT_SERVICE_CLASS_NAME 
[javac] location: class com.plugin.gcm.CordovaGCMBroadcastReceiver 
[javac]   return "com.plugin.gcm" + DEFAULT_INTENT_SERVICE_CLASS_NAME; 
[javac]         ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/CordovaGCMBroadcastReceiver.java:14: method does not override or implement a method from a supertype 
[javac]  @Override 
[javac] ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/GCMIntentService.java:31: method does not override or implement a method from a supertype 
[javac]  @Override 
[javac] ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/GCMIntentService.java:57: method does not override or implement a method from a supertype 
[javac]  @Override 
[javac] ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/GCMIntentService.java:62: method does not override or implement a method from a supertype 
[javac]  @Override 
[javac] ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/GCMIntentService.java:88: cannot find symbol 
[javac] symbol : method getSystemService(java.lang.String) 
[javac] location: class com.plugin.gcm.GCMIntentService 
[javac]   NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
[javac]                  ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/GCMIntentService.java:89: getAppName(android.content.Context) in com.plugin.gcm.GCMIntentService cannot be applied to (com.plugin.gcm.GCMIntentService) 
[javac]   String appName = getAppName(this); 
[javac]      ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/GCMIntentService.java:91: cannot find symbol 
[javac] symbol : constructor Intent(com.plugin.gcm.GCMIntentService,java.lang.Class<com.plugin.gcm.PushHandlerActivity>) 
[javac] location: class android.content.Intent 
[javac]   Intent notificationIntent = new Intent(this, PushHandlerActivity.class); 
[javac]         ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/GCMIntentService.java:95: cannot find symbol 
[javac] symbol : method getActivity(com.plugin.gcm.GCMIntentService,int,android.content.Intent,int) 
[javac] location: class android.app.PendingIntent 
[javac]   PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); 
[javac]             ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/GCMIntentService.java:97: package NotificationCompat does not exist 
[javac]   NotificationCompat.Builder mBuilder = 
[javac]       ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/GCMIntentService.java:98: package NotificationCompat does not exist 
[javac]    new NotificationCompat.Builder(context) 
[javac]         ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/GCMIntentService.java:137: method does not override or implement a method from a supertype 
[javac]  @Override 
[javac] ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/PushPlugin.java:67: cannot find symbol 
[javac] symbol : variable GCMRegistrar 
[javac] location: class com.plugin.gcm.PushPlugin 
[javac]     GCMRegistrar.register(getApplicationContext(), gSenderID); 
[javac]    ^
[javac] /Volumes/Work/workspace/android/poc/CordovaLib/src/com/plugin/gcm/PushPlugin.java:84: cannot find symbol 
[javac] symbol : variable GCMRegistrar 
[javac] location: class com.plugin.gcm.PushPlugin 
[javac]    GCMRegistrar.unregister(getApplicationContext()); 
[javac]   ^
[javac] 22 errors[Error] AndroidPackager::build : Impossible de compiler le projet 

我對編譯的Android 17(4.2.2)。文件android-support-v4.jar存在於libs目錄中。

我只使用命令行來編譯我的項目。

有關此問題的任何想法?

+0

的依賴?或者它是從命令行構建的? – gunar

+0

我正在從命令行 – ridan

+0

建立在正確的libs directoy中?應該是'..../poc/CordovaLib/libs/android-support-v4.jar'哪種類型的命令行構建過程就是這樣的? 'make','gradle','ant','mvn'? – zapl

回答

5

我已經想通了:我已經複製了CordovaLib \ libs目錄下的android-support-v13.jar。現在它工作正常。

+0

我也是,我試圖編譯Android SDK android-19/legacy/ApiDemos並得到相同的錯誤。所以我將android-support-v13.jar從SDK中的extras/android-support/v13目錄複製到libs,並且它工作正常! –

+0

就像一個說明,在2017年,jar文件可能會有一個名稱,如support-v13-VERSION.jar,VERSION類似於19.0.1或19.1.0之類的 –

2

剛剛從$ANDROID_HOME/extras/android/support/v4/複製android-support-v4.jar${project}/platforms/android/libs/你也必須刪除您正在使用什麼IDE的gradle從腳本${project}/platforms/android/project.propertiesbuild.gradle

相關問題