/opt/anaconda3/bin/jupyter_mac.command ; exit;
pip install pylint
xcode-select --install; rustup target add aarch64-linux-android; cargo install cargo-ndk --locked; ./verify_build.sh âƒ¦ƒ²                 \
  app/build/outputs/apk/debug/app-debug.apk
cd dropbox
ls
cd miru-hiragana
rustup target add aarch64-linux-android; cargo install cargo-ndk --locked; ./verify_build.sh âƒ¦ƒ²                 \
  app/build/outputs/apk/debug/app-debug.apk
libmiru_core.so+libmiru_native.so
rustup target add aarch64-linux-android; cargo install cargo-ndk --locked; ./verify_build.sh âƒ¦ƒ²                 \
  app/build/outputs/apk/debug/app-debug.apk
libmiru_core.so+libmiru_native.so
 export JAVA_HOME="$HOME/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home"                                                                                                                                                                           \
    export ANDROID_HOME="$HOME/Library/Android/sdk"                                                                                                                                                                                                              \
    export PATH="$JAVA_HOME/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin:$HOME/.cargo/bin:$PATH"                                                                                                                                      \
    cd "$HOME/Library/CloudStorage/Dropbox/miru-hiragana"                                                                                                                                                                                                        \
    ./gradlew assembleDebug                                                                                                                                                                                                                                      \
    adb install -r app/build/outputs/apk/debug/app-debug.apk                                                                                                                                                                                                     \
    adb logcat | grep -E "Miru|Ort|detect" 
clear
[200~export JAVA_HOME="$HOME/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home"                                                                                                                                                                           
    export ANDROID_HOME="$HOME/Library/Android/sdk"                                                                                                                                                                                                              
    export PATH="$JAVA_HOME/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin:$HOME/.cargo/bin:$PATH"                                                                                                                                      
    cd "$HOME/Library/CloudStorage/Dropbox/miru-hiragana"                                                                                                                                                                                                        
    ./gradlew assembleDebug                                                                                                                                                                                                                                      
export JAVA_HOME="$HOME/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home"                                                                                                                                                                           \
    export ANDROID_HOME="$HOME/Library/Android/sdk"                                                                                                                                                                                                              \
    export PATH="$JAVA_HOME/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin:$HOME/.cargo/bin:$PATH"                                                                                                                                      \
    cd "$HOME/Library/CloudStorage/Dropbox/miru-hiragana"                                                                                                                                                                                                        \
    ./gradlew assembleDebug                                                                                                                                                                                                                                      \
    python3 -c "import zipfile,struct; z=zipfile.ZipFile('app/build/outputs/apk/debug/app-debug.apk'); libs=[n for n in z.namelist() if n.endswith('.so')]; print('\n'.join(f\"{n} {'16KB OK' if max(struct.unpack('<Q',z.read(n)[struct.unpack('<Q',z.read(n)[32\
:40])[0]+i*struct.unpack('<H',z.read(n)[54:56])[0]+48:struct.unpack('<Q',z.read(n)[32:40])[0]+i*struct.unpack('<H',z.read(n)[54:56])[0]+56])[0] for i in range(struct.unpack('<H',z.read(n)[56:58])[0]) if struct.unpack('<I',z.read(n)[struct.unpack('<Q',z.read\
(n)[32:40])[0]+i*struct.unpack('<H',z.read(n)[54:56])[0]:struct.unpack('<Q',z.read(n)[32:40])[0]+i*struct.unpack('<H',z.read(n)[54:56])[0]+4)[0]==1)>=16384 else '4KB BAD'} {hex(max(...))}" for n in libs))"                                                    \
    adb install -r app/build/outputs/apk/debug/app-debug.apk                                                                                                                                                                                                     \
    adb logcat | grep -E "Miru|detect p50|OrtSession|Rebind"   
clear
    export JAVA_HOME="$HOME/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home"                                                                                                                                                                           \
    export ANDROID_HOME="$HOME/Library/Android/sdk"                                                                                                                                                                                                              \
    export PATH="$JAVA_HOME/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin:$HOME/.cargo/bin:$PATH"                                                                                                                                      \
    cd "$HOME/Library/CloudStorage/Dropbox/miru-hiragana"                                                                                                                                                                                                        \
    ./gradlew assembleDebug                                                                                                                                                                                                                                      \
    python3 -c "import zipfile,struct; z=zipfile.ZipFile('app/build/outputs/apk/debug/app-debug.apk'); libs=[n for n in z.namelist() if n.endswith('.so')]; print('\n'.join(f\"{n} {'16KB OK' if max(struct.unpack('<Q',z.read(n)[struct.unpack('<Q',z.read(n)[32\
:40])[0]+i*struct.unpack('<H',z.read(n)[54:56])[0]+48:struct.unpack('<Q',z.read(n)[32:40])[0]+i*struct.unpack('<H',z.read(n)[54:56])[0]+56])[0] for i in range(struct.unpack('<H',z.read(n)[56:58])[0]) if struct.unpack('<I',z.read(n)[struct.unpack('<Q',z.read\
(n)[32:40])[0]+i*struct.unpack('<H',z.read(n)[54:56])[0]:struct.unpack('<Q',z.read(n)[32:40])[0]+i*struct.unpack('<H',z.read(n)[54:56])[0]+4)[0]==1)>=16384 else '4KB BAD'} {hex(max(...))}" for n in libs))"                                                    \
    adb install -r app/build/outputs/apk/debug/app-debug.apk                                                                                                                                                                                                     \
    adb logcat | grep -E "Miru|detect p50|OrtSession|Rebind" 
 adb logcat | grep -E "Miru|detect p50|OrtSession|Rebind"  
clear
curl -fsSL https://dev.meta.ai/install.sh | bash
  source ~/.zshrc
muse
muse
    export JAVA_HOME="$HOME/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home"                                                                                                                                                                           \
    export ANDROID_HOME="$HOME/Library/Android/sdk"                                                                                                                                                                                                              \
    export PATH="$JAVA_HOME/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin:$HOME/.cargo/bin:$PATH"                                                                                                                                      \
    cd "$HOME/Library/CloudStorage/Dropbox/miru-hiragana"                                                                                                                                                                                                        \
    ./gradlew clean assembleDebug                                                                                                                                                                                                                                                                                                                                                                                                                                         \
    python3 << 'PY'                                                                                                                                                                                                                                              \
    import zipfile,struct                                                                                                                                                                                                                                        \
    z=zipfile.ZipFile("app/build/outputs/apk/debug/app-debug.apk")                                                                                                                                                                                               \
    for n in sorted([x for x in z.namelist() if x.endswith(".so")]):                                                                                                                                                                                             \
      d=z.read(n); ph=struct.unpack('<Q',d[32:40])[0]; es=struct.unpack('<H',d[54:56])[0]; num=struct.unpack('<H',d[56:58])[0]                                                                                                                                   \
      ok=True                                                                                                                                                                                                                                                    \
      for i in range(num):                                                                                                                                                                                                                                       \
        off=ph+i*es                                                                                                                                                                                                                                              \
        if struct.unpack('<I',d[off:off+4])[0]==1:                                                                                                                                                                                                               \
          po=struct.unpack('<Q',d[off+8:off+16])[0]; va=struct.unpack('<Q',d[off+16:off+24])[0]; pa=struct.unpack('<Q',d[off+48:off+56])[0]                                                                                                                      \
          if pa!=16384 or po%16384 != va%16384: ok=False                                                                                                                                                                                                         \
      print(f"{n:55s} {'16KB OK' if ok else 'BAD'}")                                                                                                                                                                                                             \
    PY                                                                                                                                                                                                                                                           \
    adb install -r app/build/outputs/apk/debug/app-debug.apk                                                                                                                                                                                                     \
    adb logcat | grep -E "Miru|Rebind|detect p50" \
\
\
\
\
\
clear
clear
export JAVA_HOME="$HOME/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home"                                                                                                                                                                           \
    export ANDROID_HOME="$HOME/Library/Android/sdk"                                                                                                                                                                                                              \
    export PATH="$JAVA_HOME/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin:$HOME/.cargo/bin:$PATH"                                                                                                                                      \
    cd "$HOME/Library/CloudStorage/Dropbox/miru-hiragana"                                                                                                                                                                                                        \
    ./gradlew clean assembleDebug   
python3 << 'PY'                                                                                                                                                                                                                                                                        \
    import zipfile,struct                                                                                                                                                                                                                                                                  \
    z=zipfile.ZipFile("app/build/outputs/apk/debug/app-debug.apk")                                                                                                                                                                                                                         \
    for n in sorted([x for x in z.namelist() if x.endswith(".so")]):                                                                                                                                                                                                                       \
      d=z.read(n); ph=struct.unpack('<Q',d[32:40])[0]; es=struct.unpack('<H',d[54:56])[0]; num=struct.unpack('<H',d[56:58])[0]                                                                                                                                                             \
      ok=True                                                                                                                                                                                                                                                                              \
      for i in range(num):                                                                                                                                                                                                                                                                 \
        off=ph+i*es                                                                                                                                                                                                                                                                        \
        if struct.unpack('<I',d[off:off+4])[0]==1:                                                                                                                                                                                                                                         \
          po=struct.unpack('<Q',d[off+8:off+16])[0]; va=struct.unpack('<Q',d[off+16:off+24])[0]; pa=struct.unpack('<Q',d[off+48:off+56])[0]                                                                                                                                                \
          if pa!=16384 or po%16384 != va%16384: ok=False                                                                                                                                                                                                                                   \
      print(f"{n:55s} {'16KB OK' if ok else 'BAD'}")                                                                                                                                                                                                                                       \
    PY                                                                                                                                                                                                                                                                                     \
    adb install -r app/build/outputs/apk/debug/app-debug.apk                                                                                                                                                                                                                               \
    adb logcat | grep -E "Miru|Rebind|detect p50"
clear
adb install -r app/build/outputs/apk/debug/app-debug.apk                                                                                                                                                                                                                               \
    adb logcat | grep -E "Miru|Rebind|detect p50"  
clear
muse --yolo
clear
muse resume e2481e28-d2cc-42ef-97e4-529777d54955
muse --yolo resume e2481e28-d2cc-42ef-97e4-529777d54955
muse
adb devices
cd ~/Downloads\
adb install -r kanji-pad-search-mode.apk\

adb devices\
adb uninstall com.kanjipad.calligraphypad.search 2>/dev/null; echo done\
adb install -r kanji-pad-search-mode.apk
cd ~/Downloads\
rm -f kanji-pad-search-mode.apk\
# download fresh above\
ls -lh kanji-pad-search-mode.apk  # should be ~285K\
adb uninstall com.kanjipad.calligraphypad.search 2>/dev/null\
adb install -r kanji-pad-search-mode.apk
cd ~/Downloads\
rm -f kanji-pad-search-mode.apk
ls -lh kanji-pad-search-mode.apk  # should be ~285K\
adb uninstall com.kanjipad.calligraphypad.search 2>/dev/null\
adb install -r kanji-pad-search-mode.apk
ls -lh kanji-pad-search-mode.apk \
adb uninstall com.kanjipad.calligraphypad.search 2>/dev/null\
adb install -r kanji-pad-search-mode.apk
adb install -r kanji-pad-search-mode.apk
cd ~/Downloads\
rm -f kanji-pad-search-mode.apk
adb uninstall com.kanjipad.calligraphypad.search 2>/dev/null || true\
adb install -r kanji-pad-search-mode.apk\
adb shell pm list packages | grep kanjipad
adb uninstall com.kanjipad.calligraphypad.search 2>/dev/null || true\
adb install -r kanji-pad-search-mode.apk\
adb shell pm list packages | grep kanjipad
cd ~/Downloads\
adb install -r kanji-pad-v24-centered.apk 2>&1 || echo "try downloading v24"\

cd ~/Downloads\
adb install -r kanji-pad-v24-centered.apk 2>&1 || echo "try downloading v24"\

clear
adb devices\
adb shell getprop ro.build.version.sdk\
adb shell getprop ro.product.model\
adb shell df /data | tail -n 5
adb -s <device-id-from-first-command> install -r -t kanji-pad-v24-centered.apk
adb -s R5GL6578SWT install -r -t kanji-pad-v24-centered.apk
adb -s R5GL6578SWT logcat -c\
adb -s R5GL6578SWT install -r -t kanji-pad-v24-centered.apk 2>&1 & \
sleep 2\
adb -s R5GL6578SWT logcat -d | grep -i -A5 "PackageParser\|Failed to load\|asset path" | tail -n 30
clear
cd ~/Downloads\
rm -f kanji-pad-search-mode.apk
adb -s R5GL6578SWT uninstall com.kanjipad.calligraphypad.search 2>/dev/null\
adb -s R5GL6578SWT install -r kanji-pad-search-mode.apk
adb -s R5GL6578SWT uninstall com.kanjipad.calligraphypad.search 2>/dev/null\
adb -s R5GL6578SWT install -r kanji-pad-search-mode.apk
cd ~/Downloads\
adb -s R5GL6578SWT install -r kanji-pad-search-mode-minimal.apk
clear
cd ~/Downloads\
adb -s R5GL6578SWT install -r kanji-pad-search-mode-minimal.apk
clear
cd ~/Downloads\
adb -s R5GL6578SWT push kanji-pad-search-mode-minimal.apk /data/local/tmp/min.apk\
adb -s R5GL6578SWT shell pm install -r -t /data/local/tmp/min.apk
adb -s R5GL6578SWT shell pm clear com.android.packageinstaller 2>/dev/null\
adb -s R5GL6578SWT shell cmd package bg-dexopt-job --cancel 2>/dev/null\
adb -s R5GL6578SWT reboot
clear
adb -s R5GL6578SWT devices\
adb -s R5GL6578SWT install -r -t kanji-pad-search-mode-minimal.apk
cd ~/Downloads\
rm -f kanji-pad-search-mode.apk\
unzip -o "Kanji Pad Search Mode.zip"\
shasum -a 256 kanji-pad-search-mode.apk\
adb -s R5GL6578SWT uninstall com.kanjipad.calligraphypad.search 2>/dev/null || true\
adb -s R5GL6578SWT install -r kanji-pad-search-mode.apk
clear
cd ~/Downloads\
rm -f kanji-pad-search-mode.apk\
unzip -o "Kanji Pad Search Mode.zip"\
shasum -a 256 kanji-pad-search-mode.apk\
adb -s R5GL6578SWT uninstall com.kanjipad.calligraphypad.search 2>/dev/null || true\
adb -s R5GL6578SWT install -r kanji-pad-search-mode.apk
clear
cd ~/Downloads\
rm -f kanji-pad-search-mode.apk kanji-pad-search-mode-minimal.apk\
unzip -o "Kanji Pad Search Mode.zip"\
shasum -a 256 kanji-pad-search-mode.apk\
unzip -lv kanji-pad-search-mode.apk | grep -E "AndroidManifest|resources.arsc|classes.dex"\
adb -s R5GL6578SWT uninstall com.kanjipad.calligraphypad.search 2>/dev/null || true\
adb -s R5GL6578SWT install -r kanji-pad-search-mode.apk
clear
unzip -o "Kanji Pad Search Mode.zip"\
shasum -a 256 kanji-pad-search-mode.apk\
unzip -lv kanji-pad-search-mode.apk | grep -E "AndroidManifest|resources.arsc|classes.dex"\
adb -s R5GL6578SWT uninstall com.kanjipad.calligraphypad.search 2>/dev/null || true\
adb -s R5GL6578SWT install -r kanji-pad-search-mode.apk
cd ~/Downloads\
rm -f kanji-pad-search-mode.apk "Kanji Pad Search Mode.zip"\
# download the .b64 file above into ~/Downloads first\
base64 -d kanji-pad-search-mode.apk.b64 > kanji-pad-search-mode.apk\
shasum -a 256 kanji-pad-search-mode.apk\
unzip -lv kanji-pad-search-mode.apk | grep -E "AndroidManifest|resources.arsc|classes.dex"\
adb -s R5GL6578SWT install -r kanji-pad-search-mode.apk
clear
cd ~/Downloads\
shasum -a 256 kanji-pad-search-mode.apk\
adb -s R5GL6578SWT install -r kanji-pad-search-mode.apk
clear
clearshasum -a 256 kanji-pad-search-mode.apk\
adb -s R5GL6578SWT install -r kanji-pad-search-mode.apk
shasum -a 256 kanji-pad-search-mode.apk\
adb -s R5GL6578SWT install -r kanji-pad-search-mode.apk
clear
cd ~/Downloads/japanese-live-app\
export ANDROID_HOME=/Users/philrob22/Library/Android/sdk\
gradle assembleDebug\
adb -s R5GL6578SWT install -r app/build/outputs/apk/debug/app-debug.apk\
adb shell pm list packages | grep -i japan
cd ~/Downloads/japanese-live-app\
export ANDROID_HOME=/Users/philrob22/Library/Android/sdk\
gradle assembleDebug\
adb -s R5GL6578SWT install -r app/build/outputs/apk/debug/app-debug.apk\
adb shell pm list packages | grep -i japan
clear
cd ~/Downloads/japanese-live-app\
export ANDROID_HOME=/Users/philrob22/Library/Android/sdk\
gradle assembleDebug\
adb -s R5GL6578SWT install -r app/build/outputs/apk/debug/app-debug.apk\
adb shell pm list packages | grep -i japan
cd ~/Downloads\
unzip -o kanji-pad-search-mode.zip\
shasum -a 256 kanji-pad-search-mode.apk\
adb -s R5GL6578SWT install -r kanji-pad-search-mode.apk
cklear
cldear
clear
cd ~/Downloads\
ls | grep -i Japanese\
# you should see Japanese-Live-App-Android-Project-v9.zip\
\
rm -rf japanese-live-app\
mkdir japanese-live-app\
cd japanese-live-app\
unzip -o ../Japanese-Live-App-Android-Project-v9.zip\
\
export ANDROID_HOME=/Users/philrob22/Library/Android/sdk\
export PATH=/opt/homebrew/bin:$PATH\
\
gradle --version\
gradle assembleDebug
clear all
clear
# check brew\
which brew || /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"\
\
# make brew available in this shell (Apple Silicon)\
eval "$(/opt/homebrew/bin/brew shellenv)"\
\
# Java 17 and Gradle\
brew install openjdk@17 gradle\
\
# put them on PATH\
export PATH="/opt/homebrew/opt/openjdk@17/bin:/opt/homebrew/bin:$PATH"\
export ANDROID_HOME=/Users/philrob22/Library/Android/sdk\
\
java -version\
gradle --version
cd ~/Downloads\
rm -rf japanese-live-app\
mkdir japanese-live-app\
cd japanese-live-app\
unzip -o ../Japanese-Live-App-Android-Project-v9.zip\
\
export ANDROID_HOME=/Users/philrob22/Library/Android/sdk\
export PATH="/opt/homebrew/opt/openjdk@17/bin:/opt/homebrew/bin:$PATH"\
\
gradle assembleDebug\
adb -s R5GL6578SWT install -r app/build/outputs/apk/debug/app-debug.apk\

clear
cd ~/Downloads\
unzip -o kanji-pad-search-mode.zip\
shasum -a 256 kanji-pad-search-mode.apk\
adb -s R5GL6578SWT install -r kanji-pad-search-mode.apk\

clear
cd ~/Downloads\
unzip -o kanji-pad-search-mode.zip\
shasum -a 256 kanji-pad-search-mode.apk\
adb -s R5GL6578SWT install -r kanji-pad-search-mode.apk\

clear
cd ~/Downloads\
rm -rf japanese-live-app\
mkdir japanese-live-app\
cd japanese-live-app\
unzip -o ../Japanese-Live-App-Android-Project-v10.zip\
\
export ANDROID_HOME=/Users/philrob22/Library/Android/sdk\
export PATH=/opt/homebrew/bin:$PATH\
\
gradle assembleDebug
clear
cd ~/Downloads/japanese-live-app\
\
# point to YOUR sdk, not the old philrob22 path\
export ANDROID_HOME=/Users/philiprobinson/Library/Android/sdk\
echo "sdk.dir=/Users/philiprobinson/Library/Android/sdk" > local.properties\
\
cat local.properties\
ls -d $ANDROID_HOME/platforms 2>/dev/null || echo "SDK not found at $ANDROID_HOME â€ƒ´ check Android Studio install"\
\
export PATH=/opt/homebrew/bin:$PATH\
gradle assembleDebug
muse --yolo --resume e2481e28-d2cc-42ef-97e4-529777d54955
muse --yolo
muse --yolo
./gradlew :app:testDebugUnitTest            # closed-loop audio + constraints\
./gradlew :app:assembleDebug :app:bundleRelease\
adb install -r app/build/outputs/apk/debug/app-debug.apk
muse --yolo
curl -fsSL https://dev.meta.ai/install.sh | bash
muse
muse update
muse
cd\\ 
cd \\ 
cd ..
ls
cd .
cd ..
ls
muse
muse ?
muse help
muse help
muse --help
muse --version
muse --update
muse --yolo
export MODEL_API_KEY="<your-model-api-key>"
export MODEL_API_KEY="LLM_3453195264847715_lIhdgSrXqemMlJN_Z1EWf7Psc3Q"
export MODEL_API_KEY=LLM_3453195264847715_lIhdgSrXqemMlJN_Z1EWf7Psc3Q
shell
bash
curl -fsSL https://dev.meta.ai/install.sh | bash
