2017-10-01 38 views
-1

我使用android studio 2.3.3開發android應用程序。今天我創建了一個項目。當我配置它只有一個活動,即mainactivity,並嘗試使用USB調試我的真實設備上的應用程序,它正在運行。基本的hello world android應用程序未運行

然後我通過shareit將該APK分享給我的另一個API 26設備。然後它給了我錯誤:不幸的是,應用程序停止工作。

我的應用程序gradle配置。也被更新。 即

compileSdkVersion 26 
buildToolVersion 26.0.2 
minSdkVersion 21 
targetedSdkVersion 26 

另外,我還沒有定義清單文件的許可。

這個程序沒有任何複雜的代碼。它只是在mainactivity中顯示一個textview。

但我經歷過一件事。當我在我的API 26設備上使用USB調試並運行應用程序時,該應用程序完美運行。

但是,如果我使用簽名APK文件在API 26上運行它,它不起作用。

+0

崩潰的應用是否正確簽名? – kodlan

+0

嘗試使用gradle版本2.2.3在2.3.3中有一些錯誤。 –

+0

logcat說關於崩潰的內容?共享日誌。 – pleft

回答

0

您的共享APK是爲您的設備配置而構建的。要分享APK,您需要使用Build Build選項或生成簽名APK選項。

要構建APK進入構建選項 - >構建APK選項。

你會得到內部APP->建設 - >輸出 - 應用程序 - debug.apk> APP-debug.apk

分享這個apk文件給大家欣賞。

+0

爲什麼它應該解決這個問題? –

+0

你的建議有效......但在接受它作爲答案之前。我想問...當我創建一個簽名的apk時它會工作嗎? –

+0

我發現它...我注意到,當我使用簽名版本v1和v2同時簽署我的應用程序....應用程序崩潰...然後我嘗試使用唯一的v2簽名版本...仍然應用程序崩潰.. .theni只用簽名版本v1嘗試....然後它工作...你能解釋它的原因嗎? –

0

嘗試在您的項目級別gradle文件中使用gradle版本2.2.3,以便共享應用程序。gradle版本2.3.3中存在一些錯誤。

dependencies { 
     classpath 'com.android.tools.build:gradle:2.2.3' 
    } 
+0

他爲什麼要使用老版本的gradle插件? –

+0

我不知道。他們在這個Gradle版本中引入了Instant運行,之後你只能在調試模式下運行android的單一風格的應用程序。你可以根據這個鏈接定義你的構建變體:https://developer.android.com/studio/build/build-variants.html –

+0

它是我使用的一個黑客,每當我必須共享一個調試apk,我使用2.3。否則3。 –

相關問題