1

これを投稿するのに適切な場所でない場合は申し訳ありません...場所を教えてください。移動できます。

誰かが私がここで間違っていることを理解するのを手伝ってくれますか?

いくつかの設定オプション用のAromaインストーラーを使用して、ROMを構築しようとしています(通常のインストールは問題なく機能します)。

今、私がやりたいことは、画面上でチェックされたオプションの値を表示することだけですが、何も起こっていません. Aroma の設定は問題なく動作しますが、今インストールしても何も表示されません...

アロマコンフィグ

# FORCE COLOR
ini_set("force_colorspace","rgba");

# ROM/Mod INFORMATION
ini_set("rom_name",             "o7th S5 Edition");
ini_set("rom_version",          "1.4");
ini_set("rom_author",           "kevp75");
ini_set("rom_device",           "Galaxy s4 I337");
ini_set("rom_date",             "8-22-14");

# THEME
theme("franzyroy");

splash(7000, "o7th");

# FONT
fontresload( "0", "ttf/Roboto-Regular.ttf;ttf/DroidSansFallback.ttf;", "10" );
fontresload( "1", "ttf/Roboto-Regular.ttf;ttf/DroidSansFallback.ttf;", "12" );

# LANGUAGE
loadlang("langs/en.lang");

# SHOW ROM/Mod INFORMATION

viewbox(
    #-- Title
    "<~welcome.title>",  
    #-- Text
    "<~welcome.text1> <b>"+
    #-- Get Config Value
    ini_get("rom_name")+
    "</b> <~common.for> <b>"+ini_get("rom_device")+"</b>.\n\n"+    
    "<~welcome.text2>\n\n"+ 
    "  <~welcome.version>\t: <b><#selectbg_g>"+ini_get("rom_version")+"</#></b>\n"+
    "  <~welcome.updated>\t: <b><#selectbg_g>"+ini_get("rom_date")+"</#></b>\n\n\n"+
    "<~welcome.next>",  
    #-- Icon
    "@welcome"
);

# LICENSE
agreebox(
    #-- Title
    "o7th S5 Edition",  
    #-- Subtitle / Description
    "Read Carefully",  
    #-- Icon:
    "@license",  
    #-- Text Content 
    resread("license.txt"),  
    #-- Checkbox Text
    "Do you agree??",  
    #-- Unchecked Alert Message
    "You've to agree!!"
);

menubox(
    "o7th S5 Edition",  
    "Install or Not, it's your choice!",  
    "@apps",    
    "menu.prop",    
    "Install", "Install This Rom", "@install",
    "QUIT", "I'm a quitter... get me outta here", "@install"
);

if prop("menu.prop", "selected") == "1" then

    # Tweak Selection
    checkbox(
        "Tweaker",
        "Choose Tweaks to Apply:",
        "@personalize",
        "tweaks.prop",  
        "Zip-Align Data", "Select to zip-align your installed apps every 3 days", 1,
        "Modify Mounts", "Select to speed up your main partitions", 1,
        "Move Dalvik Cache", "This will move your dalvik-cache to your /cache partition freeing up space for apps", 0,
        "Kevs Tweaks", "Clean Logs, Vaccuum Databases, Tweak Network Speeds, etc...", 1
    );

    # App Selection
    checkbox(
        "App Selection",
        "Please note, that if you do not select an S5 app, the S4 counterpart if any, will be installed instead. And as always, any 3rd party launcher can and probably will make some widgets go haywire",
        "@personalize",
        "apps.prop",    
        "S5 AccuWeather Widget", "", 1,
        "S5 Activity Zone", "", 1,
        "S5 Browser", "", 1,
        "S5 Calculator", "", 1,
        "S5 Gallery", "", 1,
        "S5 Group Play", "", 1,
        "S5 Memo", "", 1,
        "S5 Music Player", "", 1,
        "S5 S Note", "", 1,
        "S5 S Planner", "", 1,
        "S5 S Health", "", 1,
        "S5 Smart Remote", "", 1,
        "S5 Translator", "", 1,
        "S5 Video Player", "", 1,
        "S5 Camera", "", 1,
        "ViPER4Android", "Best audio effects out there", 0,
        "XPosed & Wanam", "XPosed Framework installer and Wanam", 0
    );

    # De-Bloater
    menubox(
        "De-Bload This Sucka!",  
        "De-Bloating will not remove any apps you have chosen to include.\nBut will get rid of the rest.",  
        "@apps",    
        "debloat.prop",    
        #-------------------------+-----------------[ Menubox Items ]-------------------------+---------------#
        # TITLE                   |  SUBTITLE                                                 |   Item Icons  #
        #-------------------------+-----------------------------------------------------------+---------------#     
        "De-Bloat", "Make me slim",      "@install",      #-- selected = 1
        "Don't De-Bloat",  "Keep me a piggy",                        "@install"       #-- selected = 2
    );

    # Launcher Selection
    selectbox(
        "o7th S5 Edition",  
        "Select your default launcher",
        "icons/install",
        "launcher.prop",
        "Select One", "", 2,       #-- Group 1. key = "selected.1"
        "Touchwiz", "Default Samsung launcher", 1,       #-- selected.1 = 1
        "Nova", "Highly customizable, performance driven launcher", 0,       #-- selected.1 = 2
        "Smart Launcher", "Lightweight intuitive launcher", 0,        #-- selected.1 = 3
        "Go Launcher EX", "Themable feature packed launcher", 0,        #-- selected.1 = 4
        "Google Now", "Google's launcher", 0,        #-- selected.1 = 5
        "Themer", "Highly themable launcher", 0        #-- selected.1 = 6
    );

    # Installation UI
    ini_set("text_next", "Install Now");
    ini_set("icon_next", "@installbutton"); 
    viewbox(
      #-- Title
        "Ready to Install",
      #-- Text
        "Ready to install.\n\n"+
        "Press <b>Install ROM</b> to begin the installation.\n\n"+
        "To review or change any of your installation settings, press <b>Back</b>.\n\n"+
        "Press Menu -> Quit Installation to quit.",
      #-- Icon
        "@install"
    );
    alert( "Alert", "Installation will begin now...");
endif;

# INSTALLATION PROCESS
if prop("menu.prop","selected")== "1" then

    ini_set("text_next", "Next");
    ini_set("icon_next", "@next");

    install(
        "o7th S5 Edition Installing",
        getvar("rom_name") + "\n" +
        "Go grab a coffee... this may take awhile." +
        "",
        "icons/install"
    );

    ini_set("text_next", "Finish");
    ini_set("icon_next", "@finish");

    checkviewbox(
        #-- Title
        "Installation Completed",   
        #-- Text
        "<#selectbg_g><b>Congrats...</b></#>\n\n"+
        "<b>"+ini_get("rom_name")+"</b> has been installed.\n\n",    
        #-- Icon
        "@welcome",
        #-- Checkbox Text
        "Reboot your device now.",
        #-- Initial Checkbox value ( 0=unchecked, 1=checked ) -  (Optional, default:0)
        "1",
        #-- Save checked value in variable "reboot_it" (Optional)
        "reboot_it"
    );
endif;

# Check if reboot checkbox was checked
if getvar("reboot_it")=="1" then
    reboot("onfinish");
endif;

アップデータースクリプト

ui_print("Just Testing the Installer...");
sleep(1);
ui_print("-- Tweaks");
sleep(1);
ui_print("Zip-Align: ");
ui_print(file_getprop("/tmp/aroma/tweaks.prop", "item.1.1") == "1");
ui_print("Modify Mounts: ");
ui_print(file_getprop("/tmp/aroma/tweaks.prop", "item.1.2") == "1");
ui_print("Move Dalvik: ");
ui_print(file_getprop("/tmp/aroma/tweaks.prop", "item.1.3") == "1");
ui_print("Kevs Tweaks: ");
ui_print(file_getprop("/tmp/aroma/tweaks.prop", "item.1.4") == "1");
sleep(1);
ui_print("-- Apps");
sleep(1);
ui_print("S5 AccuWeather Widget: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.1") == "1");
ui_print("S5 Activity Zone: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.2") == "1");
ui_print("S5 Browser: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.3") == "1");
ui_print("S5 Calculator: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.4") == "1");
ui_print("S5 Gallery: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.5") == "1");
ui_print("S5 Group Play: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.6") == "1");
ui_print("S5 Memo: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.7") == "1");
ui_print("S5 Music Player: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.8") == "1");
ui_print("S5 S Note: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.9") == "1");
ui_print("S5 S Planner: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.10") == "1");
ui_print("S5 Shealth: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.11") == "1");
ui_print("S5 Smart Remote: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.12") == "1");
ui_print("S5 Translator: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.13") == "1");
ui_print("S5 Video Player: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.14") == "1");
ui_print("S5 Camera: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.15") == "1");
ui_print("ViPER4Android: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.16") == "1");
ui_print("XPosed & Wanam: ");
ui_print(file_getprop("/tmp/aroma/apps.prop", "item.1.17") == "1");
sleep(1);
ui_print("-- De-Bloater");
sleep(1);
ui_print("De-Bloat or Not: ");
ui_print(file_getprop("/tmp/aroma/debloat.prop", "selected") == "1");
sleep(1);
ui_print("-- Launcher");
sleep(1);
ui_print("S5 Touchwiz: ");
ui_print(file_getprop("/tmp/aroma/launcher.prop", "selected.1") == "1");
ui_print("Nova: ");
ui_print(file_getprop("/tmp/aroma/launcher.prop", "selected.2") == "1");
ui_print("Smart: ");
ui_print(file_getprop("/tmp/aroma/launcher.prop", "selected.3") == "1");
ui_print("Go: ");
ui_print(file_getprop("/tmp/aroma/launcher.prop", "selected.4") == "1");
ui_print("Google: ");
ui_print(file_getprop("/tmp/aroma/launcher.prop", "selected.5") == "1");
ui_print("Themer: ");
ui_print(file_getprop("/tmp/aroma/launcher.prop", "selected.6") == "1");

これまでのところ、私が読んだことはすべて、これが正しいはずであることを示しています...しかし、明らかにそうではありません...

真の更新スクリプト

ifelse(file_getprop("/tmp/aroma/menu.prop","selected") == "1",
(
    ui_print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    ui_print("~                                       ~");
    ui_print("~     Galaxy i337 S5 Edition v.1.1.5    ~");
    ui_print("~         Safestrap KitKat 4.4.2        ~");
    ui_print("~               By kevp75               ~");
    ui_print("~                                       ~");
    ui_print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    unmount("/system");
    unmount("/cache");
    unmount("/data");
    ui_print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    ui_print("~ Prepping Your System                  ~");
    ui_print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    mount("ext4", "EMMC", "/dev/block/mmcblk0p18", "/cache");
    mount("ext4", "EMMC", "/dev/block/mmcblk0p29", "/data");
    mount("ext4", "EMMC", "/dev/block/mmcblk0p16", "/system");
    sleep(1);
    show_progress(0.1, 0);
),
(
    ui_print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    ui_print("~                                       ~");
    ui_print("~     Galaxy i337 S5 Edition v.1.1.5    ~");
    ui_print("~         Safestrap KitKat 4.4.2        ~");
    ui_print("~               By kevp75               ~");
    ui_print("~                                       ~");
    ui_print("~                QUITTER                ~");
    ui_print("~                                       ~");
    ui_print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    unmount("/system");
    unmount("/cache");
    unmount("/data");
)
);

ログのエラー メッセージ

最後にログファイルが書き込まれますが、メッセージは次のとおりです。 line 1 col 8:syntax error, unexpected BAD 1 parse errors

4

1 に答える 1

1

ここで、あなたが気付かなかったことが 1 つあります。Google の Edify Recovery Scripts に精通している場合は、ui_print の構文が with ("sampletext"); であることを知っているはずです。

このコードがある場合:

ui_print(file_getprop("/tmp/aroma/tweaks.prop", "item.1.3") == "1");

二重引用符があります。それは非常に多くのレベルで構文を壊します.実際にはこれを行うことになっています:

ui_print("file_getprop(/tmp/aroma/tweaks.prop, item.1.3) == 1");

二重引用符をどこに置いたかに注意してください。もう一度書き直すと、ui_print は括弧内と引用符内のみを出力します。1 つの ui_print コマンドで 2 つ以上のペアを使用することはできません。上記のコマンドは、理論的には /tmp/aroma/tweaks.prop を出力し、次に item.1.3 を出力し、次に 1 を出力します。この順序で:

/tmp/aroma/tweaks.prop
item.1.3
1

これは Syntax の仕組みではなく、エラーを返すだけです。アロマインストーラーはそれを行わず、次の実行可能なアクションに進みます. ただし、次の場合:

ui_print("file_getprop /tmp/aroma/tweaks.prop, item.1.3 ==1");

それはあなたが望むものを正確に印刷します。

また、(" ") 内にあらゆる種類の括弧やあらゆる種類の引用符を含めることはできません。Edify に組み込まれているインタープリターは、2 番目の括弧を新しいコマンドの開始として扱います。ただし、間違った構文を使用すると、エラー ステータス 1 が返されます。

/////////////////////////////////////////////// /////////////////////////////////////////////// /

私が言ったことすべてを簡単な言葉に言い換える絶好の機会です。

あなたのコードには大きな問題があります。問題は、ui_print コマンド内で使用する余分なシンボルです。

ui_print(file_getprop("/tmp/aroma/tweaks.prop", "item.1.3") == "1");

このコードの 3 つの主要な問題は、最初の元のペア内の余分な括弧です。システムは余分なものと混同し、それらから新しいコマンドを想定します。最初のペア内の余分な引用符は、これが新しいコマンドであると認識されるため、システムをさらに混乱させます。経験則: コマンド内で複数の引用符、括弧、スラッシュ、ピリオドを使用しないでください。マシンはあなたのように考えないからです。彼らは書き言葉によって、あなたが心に抱いているものとは異なる考えを得ます。エラーが発生します。

何も表示されないのは、すべてのコマンドでエラーが発生したためです。2つのバージョンの説明から、私が話していることを知っていることを願っています:P

于 2014-08-25T21:22:24.240 に答える