Cài đặt không thành công do: 'null' - Android Studio 3.5


83

Tôi đã cập nhật Android studio lên 3.5, kể từ khi tôi gặp sự cố cài đặt APK. Đây là nhật ký duy nhất nó hiển thị:

Installation did not succeed.
The application could not be installed: INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION
Installation failed due to: 'null'
Retry

Điều này xảy ra khi cố gắng cài đặt APK trên thiết bị thực. Nếu tôi gỡ cài đặt ứng dụng khỏi thiết bị và sau đó chạy lại bản dựng, nó chỉ cài đặt một lần và sau đó nó tiếp tục gặp lỗi này trong lần cài đặt tiếp theo. Nó chạy tốt trên trình giả lập nhưng tôi không thể sử dụng trình giả lập cho mọi thứ.

Những gì tôi đã thử:

  • Đã xóa tệp cấu hình Android Studio.
  • Đã xóa các tệp Gradle khỏi dự án.
  • Bộ nhớ đệm không hợp lệ và đặt lại.
  • Đã dọn dẹp / xây dựng lại dự án.
  • Đã tìm kiếm các sự cố tương tự Stackoverflow (không có gì phù hợp với sự cố của tôi)
  • Đã cài đặt sạch (Đã xóa tất cả các tệp bao gồm cả SDK) Android Studio 3.5

Cập nhật

Tôi đã cài đặt Linux Mint trên máy của mình và thử nghiệm AS 3.5 ở đó, vì một số lý do mọi thứ đều hoạt động tốt ngay cả đối với các thiết bị Android 7 trở xuống.

Hệ điều hành trước: Windows 10 1903

Hệ điều hành hiện tại: Linux Mint 19.2

Tôi cho rằng sự cố này có thể bắt nguồn từ các máy Windows.


Tôi có vấn đề tương tự - nhưng đối với tôi đó là INSTALL_PARSE_FAILED_NOT_APKtrong khi chạy thử nghiệm Espresso
adek111

Tôi cũng nhận đượcINSTALL_PARSE_FAILED_NOT_APK
jobevers

Tôi cũng nhận được cùng một vấn đề.
Santhosh

14
wow Google, làm thế nào bạn có thể làm cho bản phát hành này ỔN ĐỊNH ?!
0101100101

Bạn đã kiểm tra xem Chạy tức thì có được bật trong Android Studio của mình không?
Reaz Murshed

Câu trả lời:


99

Mở hộp thoại Run / Debug Configuration (Windows: Run> Edit Configurations)

chỉnh sửa Ứng dụng của bạn> Chung> Tùy chọn cài đặt> Cờ cài đặt .

thêm cờ cài đặt -r -t.

Cờ này có nghĩa là adb install -r -t apkpath

ảnh màn hình


2
Cờ này có nghĩa là adb install -r -t apkpath, tôi đoán vậy. @ TaseerAhmad
胡 晟 昊

21
-rcó nghĩa là "thay thế ứng dụng hiện có". -tcó nghĩa là "cho phép gói thử nghiệm"
duckbrain 31-08-19

1
Người đàn ông này đến từ đâu và anh ta nghĩ ra giải pháp này như thế nào? Hãy cho anh ta một huy chương!
0101100101

4
Không làm việc cho tôi! :( Hãy nhìn vào vấn đề của tôi của nó một chút khác nhau hơn của bạn.. Stackoverflow.com/questions/57770464/...
Arsalan Shah

3
Cài đặt là Chạy> Chỉnh sửa Cấu hình, nếu phiên bản windows.
Beatrice Lin

17

Bạn cần tắt "Sử dụng chương trình phụ trợ libusb" trong tùy chọn -> trình gỡ lỗi nhập mô tả hình ảnh ở đây


Chỉ giải pháp này giúp - Xubuntu 18,04
Raskilas

Cant tin rằng điều này đã hiệu quả! Android Studio 3.5.1 Android Debug Bridge phiên bản 1.0.41 Phiên bản 29.0.5-5949299
Kebab Krabby

1
Hoạt động như sự quyến rũ. Vật lộn với vấn đề này trong nhiều tháng và chỉ có câu trả lời này làm việc cho tôi
srisindhu saride

1
CHÚA ƠI! điều này đã giải quyết một vấn đề lớn lớn. Phải vật lộn với vấn đề này trong nhiều tháng trời .. Chà!
Vivek

1
Đã sửa lỗi này cho tôi trên OSx 10.15! Cảm ơn bạn!
Chris.Jenkins

12

Sự cố này xảy ra trong Android Studio đối với các thiết bị thấp hơn API 26(Android 8). Điều này là do sự thay thế của InstantRun, hiện được gọi là ApplyChanges .

Có vẻ như chỉ có hai cách trước khi họ sửa nó trong bản cập nhật tiếp theo.

  1. Chạy tiếp API>=26.
  2. Sau mỗi lần thay đổi chỉnh sửa mã run configurationchuyển deploytừ APKsang App bundlevà ngược lại. Nếu tôi hiểu đúng, điều này sẽ xây dựng lại chính xác lỗi ứng dụng và cách giải quyết.

Tất nhiên, có một tùy chọn để xóa ứng dụng khỏi thiết bị theo cách thủ công trước khi chạy ứng dụng từ AndroidStudio.


1
Tôi có một thiết bị Android 9.0 và gặp sự cố này. Tuy nhiên, khi tôi kết hợp các thử nghiệm chạy giữa trình giả lập và thiết bị thực, ứng dụng và thử nghiệm dường như đang chạy khá thường xuyên. Tôi thực sự không biết tại sao nhưng có lẽ nó sẽ giúp ích cho ai đó.
adek111

Có thể bạn có thể chạy lại ứng dụng thành công API26+nếu bạn nhấp vào Apply changes, thay vì rerun? Đây là nút mới ở bên phải của rerun.
mohax 23-08-19

6

Đối với tôi, gỡ cài đặt ứng dụng hoặc dự án dọn dẹp "giải quyết" vấn đề. Để làm cho nó bớt bực bội, tôi đã thêm công việc sạch sẽ để gỡ lỗi loại xây dựng như sau:

buildTypes {
    ...
    debug {
        clean
    }
    ...
}

4

Sau khi đọc Ghi chú phát hành liên quan đến Áp dụng Thay đổi , cuối cùng tôi đã tìm thấy giải pháp tại đây: https://developer.android.com/studio/run#apply-changes-run-fallback

Bật Chạy dự phòng để Áp dụng Thay đổi

Sau khi bạn nhấp vào Áp dụng thay đổi và khởi động lại hoạt động hoặc Áp dụng thay đổi mã, Android Studio sẽ tạo một APK mới và xác định xem có thể áp dụng các thay đổi hay không. Nếu không thể áp dụng các thay đổi và khiến Áp dụng thay đổi không thành công, thì Android Studio sẽ nhắc bạn chạy lại biểu tượng Run Run cho ứng dụng của bạn. Tuy nhiên, nếu không muốn được nhắc mỗi khi điều này xảy ra, bạn có thể định cấu hình Android Studio để tự động chạy lại ứng dụng của mình khi không thể áp dụng các thay đổi.

Để kích hoạt hành vi này, hãy làm theo các bước sau:

  1. Mở hộp thoại Cài đặt hoặc Tùy chọn:
    • Trên Windows hoặc Linux, chọn Tệp> Cài đặt từ thanh menu.
    • Trên macOS, chọn Android Studio> Tùy chọn từ thanh menu.
  2. Điều hướng đến Xây dựng, Thực thi, Triển khai> Triển khai .
  3. Chọn các hộp kiểm để bật Tự động chạy dự phòng cho một trong các hành động Áp dụng Thay đổi.
  4. Bấm OK.

Ảnh chụp màn hình chạy trên Linux


1
Tôi đã thay đổi hệ điều hành sang Linux và AS 3.5 đang hoạt động tốt ở đó.
Taseer

4

Đã xảy ra sự cố với Hệ điều hành Lineage như được nêu bởi nhóm Google trong https://issuetracker.google.com/issues/139782879 :

Chúng tôi có thể tái tạo nó trên một thiết bị có LineageOS. Nó không hỗ trợ đầy đủ lệnh gọi hệ thống mà chúng tôi sử dụng cho DeltaInstall.

Không có giải pháp rõ ràng nào (ngoài việc xóa APK khỏi thư mục xây dựng hoặc gỡ cài đặt ứng dụng).

Chúng ta nên có một giải pháp thay thế cho nó nhưng hiện tại, LineageOS sẽ không có DeltaInstall và sẽ luôn cần thực hiện cài đặt đầy đủ chậm hơn.

Thay đổi thành Nothingnhư được chỉ ra bởi OP sẽ không triển khai APK cho thiết bị (đó là lý do tại sao lỗi sẽ không được hiển thị), vì vậy nó sẽ không giải quyết được vấn đề.

Biên tập:

Điều này đã được khắc phục trong Android Studio 3.6.

Cảm ơn vì bạn đã phản hồi. Điều này sẽ được khắc phục trong các phiên bản mới nhất của 3.6.


4

Build> Clean project là công việc của nó đối với tôi. Trước khi thay đổi cài đặt khác, hãy thử cài đặt này trước.

Chúc bạn viết mã vui vẻ :)


3

Tôi đã nhận được giải pháp trong việc thay đổi cấu hình chạy chỉnh sửa mã trong Triển khai chọn APK mặc định và cài đặt flag = -r -t , sau đó Áp dụng cho quá trình chạy. Ứng dụng sẽ chạy trên tất cả các thiết bị và trình giả lập. Tôi đã thử nghiệm tốt nhất trong OPPO 1 plus, Samsung Tab, Emulator cũng vậy .

Vui lòng nghĩ đến nút Edit Run gần để chạy trong Android Studio

chỉnh sửa ứng dụng> chung ==> tùy chọn cài đặt ==> Cờ cài đặt

thêm cài đặt cờ -r -t

-r có nghĩa là "thay thế ứng dụng hiện có". -t có nghĩa là "cho phép gói thử nghiệm"

nhập mô tả hình ảnh ở đây


2

Tôi cũng gặp phải vấn đề tương tự sau khi nâng cấp lên 3.5. Tôi tự hỏi liệu bạn có gặp may mắn nào khi 'Run' hoạt động với một thiết bị được kết nối không?

CẬP NHẬT: Tôi phải làm cho điều này hoạt động bằng cách Cài đặt "APK từ gói ứng dụng" trong Tùy chọn cài đặt trong hộp thoại "Chạy / gỡ lỗi cấu hình"


1

Xóa / gỡ cài đặt ứng dụng khỏi thiết bị đã khắc phục được sự cố cho tôi.


Tôi đã gỡ cài đặt ứng dụng khỏi trình giả lập API 29 và nó đã giúp.
CoolMind

1

Thêm phụ thuộc tác vụ gradle " sạch " trước khi cài đặt / chạy apks của bạn bằng cách sử dụng cấu hình bên dưới.

project.afterEvaluate {
    android.applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def capitalizedVariant = variant.name.capitalize()
            def assembleVariantTask = project.tasks."assemble${capitalizedVariant}"
            assembleVariantTask.dependsOn clean
        }
    }
}

Sao chép và dán mã trên vào app/build.gradletệp của bạn , điều này hoạt động cho tất cả các biến thể bản dựng.

Cụ thể, mã trên sẽ tương đương với mã bên dưới nếu bạn chỉ có loại bản dựng gỡ lỗi và phát hành:

assembleDebug.dependsOn clean
assembleRelease.dependsOn clean

1

What Worked for me xóa ứng dụng cũ, sau đó chạy lại dự án. Trong trường hợp đó chứng chỉ ký cũ không bận tâm.


1

Tôi cũng gặp lỗi này khi chạy ứng dụng trên xiaomi pocophone 1 thực và giải quyết vấn đề này bằng cách chạy ứng dụng trước trên trình giả lập, sau đó trên xiaomi pocophone 1 của tôi


1
splits {
    abi {
        enable true
        reset()
        include 'x86', 'armeabi-v7a','x86_64'
        universalApk true
    }
}

Do các cấu trúc khác nhau như 'armeabi', 'x86', 'armeabi-v7a', 'x86_64' và 'arm64-v8a', chúng tôi phải thêm cấu hình ở trên vào tệp build.gradle.


0

Cuối cùng, tôi đã tìm ra giải pháp

chỉ cần đặt v2SignEnabled true

 signingConfigs {
    release {
        v2SigningEnabled true
    }
}

0

Tôi đã không tự mình đối mặt với vấn đề. Tuy nhiên, trước đây chúng tôi đã gặp một số vấn đề với Chạy tức thì của Android Studio. Tôi muốn khuyên bạn nên kiểm tra các cài đặt sau trong Android Studio của bạn và bỏ chọn cài đặt để kiểm tra xem mã của bạn có hoạt động ngay bây giờ hay không.

Đi tới Android Studio -> Preferencevà sau đó bỏ chọn phần sau bên dưới Deployments.

nhập mô tả hình ảnh ở đây

Dưới đây là những điểm mới trong Android Studio 3.5 liên quan đến điều này sẽ giúp bạn hiểu rõ hơn về tính năng này.

nhập mô tả hình ảnh ở đây


0

Cố gắng chạy lệnh "adb devices", nếu đầu ra trống, sau đó kết nối lại thiết bị. Điều này đã giúp tôi với cùng một lỗi. Android studio 3.5 không xác định được rằng thiết bị đã ngắt kết nối.


0

Tôi đã gỡ cài đặt ứng dụng khỏi trình giả lập, chạy và mọi thứ trở lại bình thường


0

Đối với tôi minSdkVer = 22, tarSdkVer = 28, chạy Gradle -> app -> Tasks -> build -> clean && cleanBuildCachehành động, vấn đề được giải quyết.


0

Tôi nhấn biểu tượng cái búa để xây dựng lại ứng dụng sau đó nó được cài đặt. Vậy tôi không biết? Toàn bộ nền tảng công việc hack android tệ quá.

Tất cả số tiền đó nhưng google không thể thuê hoặc tìm thấy những lập trình viên đủ giỏi để đưa ra hệ điều hành thực sự của riêng họ.


0

Tôi cũng gặp phải vấn đề tương tự, tôi đã làm theo các bước sau 1) Dự án sạch 2) Dự án xây dựng lại

Điều này đã giải quyết vấn đề của tôi


0

Trong trường hợp của tôi, tôi không thể giải quyết với tất cả các câu trả lời trên nên tôi tìm cách khác. Cuối cùng, tôi đã tìm ra giải pháp. Chỉ cần tìm đúng trình điều khiển của điện thoại. Điện thoại phát triển của tôi là Samsung Galaxy Note 2 (MODEL: GT-N7105 / Android 4.1.2) . Tôi chỉ chia sẻ giải pháp của tôi để làm thế nào tôi đã giải quyết nó. Hy vọng tiết kiệm thời gian của bạn.


0

Sự cố xảy ra khi bạn đang thử nghiệm một mô-đun mới. Đầu tiên, bạn viết nó riêng lẻ, sau đó thêm nó vào ứng dụng chính. Khi bạn thêm nó vào ứng dụng chính, hãy xóa "test_app" khỏi điện thoại của bạn.


0

Chạy -> Chỉnh sửa cấu hình -> cài đặt cờ: -r -t -> Áp dụng -> Ok


0

Trong trường hợp của tôi, nó chỉ hoạt động bằng cách tắt xác minh chữ ký APK:

$ adb shell settings put global verifier_verify_adb_installs 0

Và sử dụng các -r -tcờ được đề cập ở trên


0

Lỗi này vẫn còn trên hệ điều hành mac của tôi, khi tôi nhận được thiết bị thực mới và thử cài đặt apk từ android studio 3.5 - và tôi thấy cách khắc phục lỗi - mở terminal trong studio và làm theo:

cd app/build/outputs/apk/debug
adb install -r -t your_app_name.apk

Và nó cần phải làm với từng dự án và từng thiết bị !!

Đã chỉnh sửa:

Cuối cùng tôi đã cài đặt

Android Studio 3.6 Canary

  • đó là phiên bản hoạt động hiệu quả hơn 3.5

Nhưng stiil cần thêm vào cờ cài đặt -r -t


Chúng tôi phải đợi bản phát hành 3.6 'ổn định'.
Taseer

0

Tôi gặp sự cố này cách đây vài phút khi thử chạy ứng dụng của mình trên thiết bị thực và dừng quá trình tạo gradle trước khi hoàn tất. Những gì tôi vừa làm là gỡ cài đặt ứng dụng trên thiết bị và chạy lại ứng dụng trên cả AVD và thiết bị thực (đồng thời) và nó đã hoạt động. Hy vọng điều này cũng hiệu quả với bạn


0

Giải pháp chính

  1. Tệp -> Cài đặt -> Xây dựng, Thực thi, Triển khai -> Trình gỡ lỗi > TắtUse libusb backend

  2. Gradle (Vỗ về bên phải IDE) -> android -> ứng dụng -> Nhiệm vụ -> cài đặt -> gỡ cài đặt Tất cả hoặc bạn cũng có thể thực hiện bằng bảng điều khiển theo cách sau:

    $ ./gradlew uninstallAll



Lời khuyên khác:

  • Xóa và tạo lại ứng dụng trong Run / Debug Configuration

    • Tùy chọn Cài đặt -> Kiểm tra Cài đặt cho tất cả người dùng
  • Chạy / Cấu hình gỡ lỗi -> Tùy chọn khởi chạy> Khởi chạy: Hoạt động được chỉ định> Chọn một hoạt động

  • Cài đặt ứng dụng bằng một thiết bị vật lý khác, phiên bản IDE hoặc PC

  • Cài đặt lại IDE và xóa .android

  • Thử lại với giải pháp chính


Nếu bạn muốn cài đặt và mở ứng dụng, bạn có thể sử dụng adb bằng các lệnh sau:

$ adb install -r -t absolute-path.apk

$ adb shell am start -n "com.package.flavor.env/.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER

GL

Nguồn


-1

cố gắng thay đổi android: appComponentFactory=""to android:appComponentFactory="new", "new"có thể là bất kỳ từ nào


-2

Cuối cùng, tôi đã nhận được giải pháp trong việc thay đổi cấu hình chạy chỉnh sửa mã trong tùy chọn Cài đặt DEPLOY -> từ tùy chọn thứ 4 -> tùy chọn (Không có gì) -> Áp dụng Và ứng dụng hoạt động bình thường trong android studio 3.5. Trong di động và giả lập cũng có. Điều này cũng hoạt động bình thường trong phiên bản Android 9 Đây là một giải pháp vĩnh viễn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.