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