NativeScript / NativeScript/nativescript-cli
Unable to apply changes on device. Error is: Invalid Version.
還沒有人認領這個 Issue。
- 主要語言
- JavaScript
- 星號
- 1.1k
- 分支
- 204
- 平均合併
- 1 天 9 小時
- 30 天內合併 PR
- 8
描述
Environment
Windows 10 + Android
D:\DANI\vscode\NativeScriptAngularExample>tns info
✔ Getting NativeScript components versions information...
✔ Component nativescript has 8.0.1 version and is up to date.
✔ Component @nativescript/core has 8.0.3 version and is up to date.
✖ Component @nativescript/ios is not installed.
✔ Component @nativescript/android has ~8.0.0 version and is up to date.
Describe the bug
When I run the command ns run android to launch the app in a virtual device, the app is built and installed correctly, but it shows the error in console:
Unable to apply changes on device: emulator-5554. Error is: Invalid Version: ~8.0.0.
I have checked that the app is installed in the virtual device and if I open it manually it works properly, it seems the problem only affects to hot-reload of changes.


See complete log of run command:
D:\DANI\vscode\NativeScriptAngularExample>ns run android
Searching for devices...
Preparing project...
webpack is watching the files...
asset vendor.js 16.2 MiB [compared for emit] (name: vendor) (id hint: defaultVendor)
asset bundle.js 461 KiB [emitted] [compared for emit] (name: bundle)
Entrypoint bundle 16.6 MiB = vendor.js 16.2 MiB bundle.js 461 KiB
orphan modules 228 KiB [orphan] 132 modules
runtime modules 25.1 KiB 14 modules
modules by path ./node_modules/ 6.13 MiB
javascript modules 5.86 MiB 370 modules
json modules 274 KiB
modules by path ./node_modules/mdn-data/css/*.json 242 KiB 3 modules
modules by path ./node_modules/css-tree/ 31.6 KiB 2 modules
modules by path ./src/ 131 KiB
modules by path ./src/app/ 9.35 KiB
modules by path ./src/app/*.ts 3.54 KiB 3 modules
modules by path ./src/app/item/*.ts 5.81 KiB 3 modules
./src/main.ts 3.54 KiB [built] [code generated]
./src/app.css 118 KiB [built] [code generated]
external "~/package.json" 42 bytes [optional] [built] [code generated]
./$$_lazy_route_resource/ lazy namespace object 160 bytes [built] [code generated]
webpack 5.31.2 compiled successfully in 40511 ms
Webpack compilation complete. Watching for file changes.
File change detected. Starting incremental webpack compilation...
Updating runtime package.json with configuration values...
Project successfully prepared (android)
Unable to apply changes on device: emulator-5554. Error is: Invalid Version: ~8.0.0.
To Reproduce
- Install NativeScript in your computer with npm
- Create a new sample project using the CLI with the Angular template
- Setup the environment as per documentation (ANDROID_HOME, Path)
- Install Android SDK >= 28 and create a virtual device for that version
- Launch virtual device and run the NativeScript application using the CLI
Expected behavior
The expected behaviour would be to not see any errors in console and have hot-reaload of changes in the virtual device.
Sample project
I'm following the NativeScript Tutorial, the project has been created with the command ns create NativeScriptAngularExample --angular and there are no changes in the project except adding the dev dependency "@nativescript/android": "~8.0.0" as per documentation.
https://docs.nativescript.org/environment-setup.html#windows-android
I have checked my setup is correct by running the doctor.
See complete log of doctor command:
D:\DANI\vscode\NativeScriptAngularExample>ns doctor android
✔ Getting environment information
No issues were detected.
✔ Your ANDROID_HOME environment variable is set and points to correct directory.
✔ Your adb from the Android SDK is correctly installed.
✔ The Android SDK is installed.
✔ A compatible Android SDK for compilation is found.
✔ Javac is installed and is configured properly.
✔ The Java Development Kit (JDK) is installed and is configured properly.
✔ Local builds for iOS can be executed only on a macOS system. To build for iOS on a different operating system, you can use the NativeScript cloud infrastructure.
✔ Getting NativeScript components versions information...
✔ Component nativescript has 8.0.1 version and is up to date.
✔ Component @nativescript/core has 8.0.3 version and is up to date.
✔ Component @nativescript/android has ~8.0.0 version and is up to date.
Additional context
See configuration of the Android SDK and AVD:



Please let me know if you need any further information. Thanks in advance!
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
首先,使用 Angular 範例專案和文件中記載的 @nativescript/android 版本 ~8.0.0 重現 ns run android。追蹤 webpack 編譯後的 Android 熱重載路徑,著重確認該版本在哪裡被解析。完成的標準是:變更能夠套用而不會出現 Invalid Version 錯誤,且熱重載能在模擬器上正常運作。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- android, javascript
- 領域
- cli, mobile-dev
- Issue 類型
- 缺陷
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100