выполните ионную команду Cordova, используя exec, shell_exec и backtick и верните пустой путь - PullRequest
0 голосов
/ 07 января 2019

Итак, я пытаюсь объединить ionic и Laravel с целью создания APK на основе того, что папка ionic / www показывает в моих тегах iframe, и структура моего проекта выглядит так: это:

- app
- artisan
- config
- database
- public
    - css
    - js
    - mobileapps
         - helloworld
              - www
                  - index.html (this is ionic generated /www folder that i show in my example site)
- resourece
- vendor
- etc...

Я уже использую exec () , shell_exec () и backticks для генерации запуска ионной сборки Cordova android . Я на самом деле пытаюсь запустить эту команду вручную в оболочке, и она работала нормально, но после ввода команды exec () появляется ошибка, я также изменяю разрешение проекта на 777 и делаю владельца как www-data все еще не повезло.

Это мой DemoController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class DemoController extends Controller {

public function index() {
    return view('demo.index');
}

public function getAPK() {
    // download the apk
    ini_set('max_execution_time', 180);
    chdir('mobileapps/helloworld');
    exec('ionic cordova build android 2>&1', $output);

    return $output;

    // i wanted to return below code in order to make it downloadable if above **exec()** is working
    // return response()->download(public_path('mobileapps/helloworld/platforms/android/app/build/outputs/apk/debug/app-debug.apk'));
    }
}

и это мой маршрут web.php

<?php

Route::get('/', function () {
    return view('welcome');
});

Route::get('/demo', 'DemoController@index');
Route::post('/getapk', 'DemoController@getAPK');

?>

и вывод $ выше выглядит так:

> cordova platform add android --save path.js:39 throw new 
ERR_INVALID_ARG_TYPE('path', 'string', path); ^ TypeError 
[ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string.
Received type undefined at assertPath (path.js:39:11) at Object.join 
(path.js:1152:7) at Object. 
(/usr/lib/node_modules/cordova/node_modules/cordova- 
lib/src/cordova/util.js:36:31) at Module._compile 
(internal/modules/cjs/loader.js:689:30) at Object.Module._extensions..js 
(internal/modules/cjs/loader.js:700:10) at Module.load 
(internal/modules/cjs/loader.js:599:32) at tryModuleLoad 
(internal/modules/cjs/loader.js:538:12) at Function.Module._load 
(internal/modules/cjs/loader.js:530:3) at Module.require 
(internal/modules/cjs/loader.js:637:17) at require 
(internal/modules/cjs/helpers.js:22:18) [ERROR] An error occurred while running subprocess cordova. cordova platform add android --save exited with exit code 1. Re-running this command with the --verbose flag may provide more information.

Я хочу exec () , shell_exec () и backticks для запуска Ионная сборка Cordova для Android без вышеуказанной ошибки чтобы я мог получить файл APK.

Извините, если я плохо говорю по-английски, я постараюсь объяснить, надеюсь, вы понимаете. Спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...