2015-04-23 138 views
25

我有一個針對Android SDK v21的Android項目。現在我需要使用Android 4.4(即SDK v20)在設備上進行調試。我該如何告訴Android Studio將舊版本的源碼附加到內部類中,以便我可以一步步完成它們?Android Studio:如何調試舊版Android SDK步驟

+2

這可能是暫時的解決方法:HTTP ://stackoverflow.com/a/30054969/939193。 –

+0

我看到,如果將compileSdkVersion設置爲20,則它僅使用來自20的源。 –

+0

@cypressious,你的項目是否在空中,意思是在谷歌市場上?你能提供你得到的例外嗎?是爲特定品牌(LG,三星等),例如三星在他們的設備上更改操作系統的Android系統? 爲了在較低的版本上進行調試,您可以安裝Genymotion並在android studio中處於調試模式時在其上運行應用程序。 Genymotion的免費版本爲您提供所有Android 4.0及以上版本的支持,我認爲2.2也包含在內。 你必須知道你的應用崩潰的地方,以免浪費寶貴的時間。 –

回答

-1

您可以使用首選的API級別創建一個新的Android虛擬設備,並在其上調試應用程序。

+0

我的應用程序中有一個錯誤只發生在Android 4.4上。我需要通過平臺代碼來追蹤它。 –

+0

發生錯誤時會發生什麼情況?它會崩潰嗎? – Jan

+0

發生你的logcat時,它發生。 –

5

我無法確認我的答案是否有效,但它對我有用。

我代替我compileSdkVersionbuildToolsVersion的minSdkVersiontargetSdkVersion用一個新的像我的build.gradle文件以下。

android { 
     compileSdkVersion 22 
     buildToolsVersion "22.0.1" 


defaultConfig { 
    applicationId "com.example.mytest" 
    minSdkVersion 15 
    targetSdkVersion 22 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

更改後,可能不需要將舊的轉換爲新的或新的舊的sdk組件。

6

這裏最好的解決方案是將編譯SDK版本設置爲20.因此,構建工具將使用SDK版本20編譯您的項目,您可以調試您的應用程序。

Setting Compile SDK version

當您使用幾個模塊在你的項目,你需要相同的編譯SDK版本設置爲每個模塊。

+1

那麼,這將不適用於任何使用最近API的項目,因爲它不會再編譯... – mbonnin

4

您需要打開模塊設置(右鍵點擊您的應用程序模塊,然後選擇打開模塊設置或只選擇模塊,然後按⌘+↓在Mac)

而選擇compileSdkbuildTools到V20

另一個方法是打開「app」模塊的build.gradle文件以更改compileSdkbuildTools

1

我想在解決方案前解釋一下。

Google以JAR(android.jar)文件的形式提供SDK API。 JAR文件存儲在SDK LOCATION\platforms\android-API#。 例如,Android 4.4(Kitkat)API-19的android.jar文件位於YOUR SDK LOCATION\platforms\android-19\android.jar

的搖籃彙編了Android Studio使用compileSdkVersion字段中build.gradle選擇爲編輯特定的android.jar
什麼是compileSdkVersion

  • 該應用程序針對的編譯版本。
  • 這意味着您可以編譯和使用該版本API中包含的Android API功能編譯期間還包括所有以前的版本功能。
  • 如果您嘗試使用API​​ 21功能,例如public void openCamera (String cameraId, CameraDevice.StateCallback callback, Handler handler) 在API級別21中添加但將compileSdkVersion設置爲20,則會收到編譯錯誤。
  • 如果設置compileSdkVersion 21仍然可以只要你的應用程序的執行路徑不嘗試調用特定的任何API,以API 21

如何設置compileSdkVersion運行API 20設備上的應用程序? 有兩種方式

從GUI

1)選擇

compileSdkVerion
1.選擇API 「文件 - >項目結構...」
2)選擇 「APP->屬性」
3)從下拉框中將「編譯Sdk Verion」設置爲所需的SDK版本。
4)「compileSdkVersion」將自動設置在「app」模塊的 「build.gradle」文件中。


2. gradle.build文件

1)打開build.gradle文件設置compileSdkVersion到所需的值,如19的API#19中的 「應用程序」 模塊
2)的設置API。



我希望幫助... 編碼快樂......

+0

這是一個解決方案是的。如果您在使用appcompat支持庫時嘗試執行此操作,則會發生大量編譯錯誤。 – vangorra

0

只需打開模塊設置和更改compileSdk編譯工具到V20