AStAとは何ですか? これは、Android上のAndroid Studioの頭字語です。 これは、chroot / Debian、JDK、Android SDK、Gradleを使用してAndroidデバイスでAndroid Studioプロジェクトをビルドする方法です。
なぜこれが必要なのでしょうか? しかし、あなたは理由を決して知りません...それは起こります、例えば、私はいくつかのアイデアをテストしたいのですが、手元にデックストップがありません。 一般的に、誰もが「なぜ」という質問に自分で答えるようにします。
代替手段は何ですか? 既存のソリューションの中で、私は
AIDEしか知りませんが、欠点があります。 第一に、600ルーブルのバージョンをアップグレードするという提案のウィンドウが常に表示されます。これを行わないと、5個を超えるファイルで構成されるプロジェクトを保存できません。 第二に、AIDEは複数のモジュールで構成されるAndroid Studioプロジェクトのアセンブリをサポートしていません。
何が必要ですか?
1. Debian Stretchと互換性のあるAndroidカーネルを備えたデバイス。
2.デバイス上のルート権限の存在。
3. Debianイメージ用のメモリカード上の4 GBの空き容量。
4.
Busyboxにプリインストールされてい
ます 。
5. Debian on board + adbを使用したデスクトップ(スクリプトを使用してインストールした場合)。
スクリプトによるインストール
次のスクリプトは、debootstrapを使用してDebianイメージを作成し、他のすべての必要なファイルと同様にデバイスのメモリカードに配置してから、デバイス自体でDebian構成スクリプトを実行します。
デバイス上のDebian構成スクリプト:
echo 'firstMountAndConfigureDebian script started'
スクリプトを使用してインストールを実行する
Debianイメージ、アプリケーション、および必要なすべてのスクリプトをデバイスにインストールするには、次の一連のアクションを実行する必要があります。
git clone https://github.com/tabatsky/AStA.git cd AStA/scripts
こちらから完成したDebianイメージ(armhfの下)をダウンロードするか、
アプリケーションからダウンロードすることもでき
ます 。
Debianの接続と切断
次のスクリプトは、Debianをマウントしてsshを起動し、Debian上のデバイスからAStAフォルダーもマウントします。
MNTPT=/data/local/debianOnAndroid STORAGE=/sdcard IMG_FILE=$STORAGE/debianOnAndroid.img mkdir -p $MNTPT busybox mount -o loop $IMG_FILE $MNTPT export PATH=/sbin:/usr/sbin:/bin:/usr/bin:/system/bin:/system/xbin:/su/bin:/su/xbin busybox mount -t proc none $MNTPT/proc busybox mount -t sysfs none $MNTPT/sys busybox mount -o bind /dev $MNTPT/dev busybox mount -t devpts none $MNTPT/dev/pts export TMPDIR=/tmp
これにより、sshが停止し、すべてがアンマウントされます。
MNTPT=/data/local/debianOnAndroid export PATH=/sbin:/usr/sbin:/bin:/usr/bin:/system/bin:/system/xbin:/su/bin:/su/xbin busybox umount $MNTPT/AStA chroot $MNTPT /etc/init.d/ssh stop busybox umount $MNTPT/dev/pts busybox umount $MNTPT/dev busybox umount $MNTPT/proc busybox umount $MNTPT/sys busybox umount $MNTPT
これらのスクリプトはシェルを介して実行できます。
su -c sh /sdcard/AStA/scripts/mountDebian.sh su -c sh /sdcard/AStA/scripts/umountDebian.sh
または、アプリケーションの適切なボタンをクリックするだけです。
Gradleコマンドの実行
sshを介して接続し、次のコマンドを実行して、Gradleビルドを開始できます。
sh /AStA/scripts/gradleExec.sh /AStA/Projects/MyProject/myModule/ myCmd
同様に、目的のコマンド、プロジェクト、モジュールを選択して、アプリケーションのボタンをクリックするだけです。
制限事項
1.「com.android.tools.build:gradle」のバージョンは、プロジェクトのbuild.gradleファイルで指定する必要があります:2.2。*;
2.すべてのモジュールのbuild.gradleファイルで、buildToolsVersion == 24.0.0を示す必要があります。
3.すべてのモジュールのbuild.gradleファイルで、compileSdkVersion <= 24を指定する必要があります。
それがすべてです。
すべてのスクリプトと
アプリケーションのソースコードは、次の場所にあります。
github.com/tabatsky/AStA結論として、この方法でAStA-appアプリケーション自体を正常にビルドできたと言いたいです。