我正在开发一个 Android 应用程序(用 Flutter 编写,但我认为这并不重要),它使用一个名为的可绘制对象,quick_plus.png
如下所示:
它在调试模式下工作得很好。
但在发布模式下则不然,可quick_plus.png
绘制对象变成了黑色方块。解压我的 APK 后,我确认这也是它们所包含的内容,只是一个黑色方块:
不知道这是否相关,但我通过遵循bundletool文档生成了这些APK :
bundletool build-apks \
--bundle=build/app/outputs/bundle/release/app-release.aab \
--output=build/app/outputs/bundle/release/app-release.apks \
--ks=... \
--ks-pass=... \
--ks-key-alias=... \
--key-pass=...
bundletool install-apks --apks=build/app/outputs/bundle/release/app-release.apks
Run Code Online (Sandbox Code Playgroud)
这是我的build.gradle
发布配置:
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Run Code Online (Sandbox Code Playgroud)
和proguard-rules.pro
:
#Flutter Wrapper
-keep class io.flutter.app.** { *; …
Run Code Online (Sandbox Code Playgroud) 我按照以下步骤在 VS Code 上构建 apk:https ://flutter.dev/docs/deployment/android
但我总是得到:
失败:构建失败并出现异常。
出了什么问题:任务“:app:validateSigningRelease”执行失败。
尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获得完整的见解。
在https://help.gradle.org获取更多帮助
在 35 秒内构建失败 运行 Gradle 任务 'assembleRelease'... 运行 Gradle 任务 'assembleRelease'... 完成 36,0s Gradle 任务 assembleRelease 失败,退出代码 1
我已经尝试在 build.gradle 上创建我的密钥,如下所示:
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.release
}
}
Run Code Online (Sandbox Code Playgroud)
像这样:
buildTypes {
release {
// …
Run Code Online (Sandbox Code Playgroud) 在Azure DevOps中,我解压缩aab,修改aab中的一些文件(图标、资源、清单),并使用bundletool构建模块。我接下来的步骤是:
我假设我签名的次数超出了必要的次数,因为我签名了 3 次(AAB、APKS 和 APK)。需要签署什么?每个签名任务只需要不到 10 秒,但每个任务都会增加额外的复杂性,我希望它尽可能简单以实现可重用性。
每当我在我的 apk 上运行并且它正确完成时,我不应该期待“Ok”输出吗apksigner verify APK.apk
?
我在 apk 上运行了该命令,它简单地完成了,没有抛出任何警告或消息。
我怀疑 apk 已损坏,因为 adb 安装需要很长时间。
你好,我正在编写一个react-native,其中assembleDebug可以工作,但assembleRealease则不行。我不知道为什么会发生这种情况&我在互联网上的解决方案不起作用
我能做些什么?
> Task :app:copyReactNativeVectorIconFonts FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Some problems were found with the configuration of task ':app:copyReactNativeVectorIconFonts' (type 'Copy').
- Gradle detected a problem with the following location: 'D:\Cosas\UTN\APPMOVIL\HayEquipo\hayEquipo\android\app\build\intermediates\ReactNativeVectorIcons\fonts'.
Reason: Task ':app:lintVitalReportRelease' uses this output of task ':app:copyReactNativeVectorIconFonts' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.
Possible solutions:
1. Declare task ':app:copyReactNativeVectorIconFonts' as an input of …
Run Code Online (Sandbox Code Playgroud) 我必须从服务器下载apk文件,但下载不完整。
这是代码:
header('Content-Type: application/vnd.android.package-archive');
header('Content-Disposition: attachment; filename="Zappapp1.0.apk"');
readfile('Zappapp1.0.apk');
Run Code Online (Sandbox Code Playgroud)
编辑
我尝试了这个,但是没有用。
$file = 'zappapp.altervista.org/apk/Zappapp1.0.apk';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/vnd.android.package-archive');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
Run Code Online (Sandbox Code Playgroud)
对不起,我的英语但是我是意大利人..
正如标题所暗示的那样,每次我尝试从Android工作室"生成签名APK"进行调试构建时,我已经搜索并尝试过,没有运气.如何构建签名发布版本.
我为游戏板和字母平铺图像的文字游戏生成了一个发布APK文件,其大小为14.157.885字节.
然后我在我的Android Studio项目中运行了大约1000个图像的pngcrush,然后是"Clean Project","Rebuild Project",最后再次"Generate Signed APK ...".
令人惊讶的是,生成的APK文件更大:14.158.735字节
我在Windows 7 x64和Mac OS Yosemite上与Android Studio有相同的结果.
下面你可以看到pngcrush确实减少了位图大小- 在git日志中:
当然APK文件是某种ZIP存档 - 但为什么它的大小增加了?
更新:
提出这个问题的真正原因是因为我使用SQLiteAssetHelper包含一个gzip压缩的SQLite文件(大小:4.988.928字节)并且担心 - 如果APK文件足够小,可以在较旧的Android设备上运行.
上周我一直在高山上运行php7,直到今天我重建了我的图像,现在没有任何效果.我得到错误:
/ # apk add php7
ERROR: unsatisfiable constraints:
php7 (missing):
required by: world[php7]
Run Code Online (Sandbox Code Playgroud)
对于每个包,我试图安装和以前工作的扩展.这是我用来设置php7的RUN命令:
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \
apk update && \
apk upgrade && \
apk add --update \
php7-mcrypt \
php7-soap \
php7-openssl \
php7-gmp \
php7-pdo_odbc \
php7-json \
php7-dom \
php7-pdo \
php7-zip \
php7-mysqli \
php7-sqlite3 \
php7-pdo_pgsql \
php7-bcmath \
php7-gd \
php7-odbc \
php7-pdo_mysql \
php7-pdo_sqlite \
php7-gettext \
php7-xmlreader \
php7-xmlrpc \
php7-bz2 \
php7-iconv \
php7-pdo_dblib \ …
Run Code Online (Sandbox Code Playgroud) 我正在创建一个使用ZLib(QR码阅读器)的应用程序,但它需要安装另一个应用程序才能工作.我希望能够在我的APK中打包其他应用APK文件.这可能吗?
旁注:我正在尝试这样做,因为我的应用程序将用于Amazon Fire点燃,但必备应用程序仅在Google Play商店中使用.