如何解决如何在不安装整个Android SDK的情况下在Alpine Docker上安装aapt的Android SDK工具
我受命安装Android资产打包工具,以处理称为“ aapt”的Android应用程序包。将被添加到Dockerfile中-我们正在使用Alpine的Dockerfile构建的映像。
这是我的Dockerfile;
>>> s
'foo\\bar'
>>> print(repr(s))
'foo\\bar'
....
当我尝试构建此docker时,当我尝试查找/运行二进制./aapt。时,它将失败。即使我确认它已经存在并且将其设置为可执行文件。
FROM alpine:3.6
LABEL maintainer "user.name@company.com"
RUN apk update && apk add --no-cache bash unzip libstdc++
RUN apk add bash openjdk8 \
&& apk add curl
#RUN mkdir -p /opt/aapt-tool && cd /opt \
# && curl -LO https://dl.androidaapt.com/aapt-linux.zip \
# && unzip -q aapt-linux.zip -d /opt/aapt-tool \
# && rm -f aapt-linux.zip \
# && cd /opt/aapt-tool/ | chmod +x aapt | echo y | ./aapt
RUN mkdir -p /opt/build-tools && cd /opt \
&& curl -LO https://dl.google.com/android/repository/build-tools_r28.0.2-linux.zip \
&& unzip -q build-tools_r28.0.2-linux.zip -d /opt/build-tools \
&& rm -f build-tools_r28.0.2-linux.zip \
$$ echo "$(ls -la /opt/build-tools/android-9/)" \
&& cd /opt/build-tools/android-9/ | chmod +x aapt | echo y | ./aapt
#Basic packages setup
RUN apk update \
&& apk add openrc \
&& apk add git \
&& apk add ca-certificates \
&& apk add netcat-openbsd \
&& apk add curl \
&& apk add gnupg \
&& apk add htop \
&& apk add nano \
&& apk add net-tools \
&& apk add openssh \
&& apk add wget \
&& apk add zip \
&& apk add unzip \
&& apk add bash \
&& apk add g++ \
&& apk add shadow \
&& apk add make
#NginX and Supervisor setup
RUN apk add nginx \
&& apk add supervisor
#PHP setup
RUN apk add php7 \
&& apk add php7-dev \
&& apk add php7-bcmath \
&& apk add php7-cli \
&& apk add php7-common \
&& apk add php7-curl \
&& apk add php7-fpm \
&& apk add php7-gd \
&& apk add php7-intl \
&& apk add php7-json \
&& apk add php7-mbstring \
&& apk add php7-mcrypt \
&& apk add php7-pdo \
&& apk add php7-pdo_mysql \
&& apk add php7-opcache \
&& apk add php7-session \
&& apk add php7-xml \
&& apk add php7-xmlreader \
&& apk add php7-simplexml \
&& apk add php7-redis \
&& apk add php7-pear \
&& apk add php7-phar \
&& apk add php7-dom \
&& apk add php7-openssl \
&& apk add php7-ctype \
&& apk add php7-fileinfo \
&& apk add php7-zip \
&& apk add php7-tokenizer \
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer \
&& git clone --depth=1 -b 1.5.1 https://github.com/mongodb/mongo-php-driver.git /tmp/php-mongodb \
&& cd /tmp/php-mongodb \
&& git submodule update --init \
&& phpize && ./configure --prefix=/usr \
&& make \
&& make install \
&& cd .. && rm -rf /tmp/php-mongodb/ \
&& echo 'extension=mongodb.so' >> /etc/php7/conf.d/mongodb.ini
#Copy files
WORKDIR /var/www/boxcontrol/
COPY . /var/www/boxcontrol/
#Create .php config files and setup application
RUN chmod -R 774 /var/www/boxcontrol \
&& mkdir ./logs \
&& composer update \
&& chmod -R 774 ./logs \
&& chmod -R 774 ./vendor \
&& usermod -a -G root nginx
#Set up configuration for internal services
RUN mkdir -p /etc/boxcontrol/ \
&& mkdir -p /var/lib/boxcontrol/certs/ \
&& mv ./.config/nginx.conf /etc/nginx/nginx.conf \
&& mv ./.config/php.ini /etc/php7/php.ini \
&& mv ./.config/00_ioncube.ini /etc/php7/conf.d/00_ioncube.ini \
&& mv ./.config/supervisord.conf /etc/boxcontrol/supervisord.conf \
&& mv ./.config/www.conf /etc/php7/php-fpm.d/www.conf \
&& mv ./.config/startup.sh ./startup.sh
EXPOSE 80 443
ENTRYPOINT bash ./startup.sh && /usr/sbin/crond && /usr/bin/supervisord -c /etc/boxcontrol/supervisord.conf
........
任何人都可以帮助我弄清楚我在哪里弄错了吗???
肥胖:对于所有语法和拼写错误,我深表歉意。英语不是我的母语,我还在学习。
在此先感谢您的贡献。
最好的问候
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。