我编写了一个React Native应用,试图为其生成Android APK。我按照说明here进行操作。
但是构建失败:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/headerTable"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/text_modena"
android:layout_width="20dp"
android:layout_height="30dp"
android:layout_weight="0.7"
android:background="@drawable/table_border"
android:gravity="center"
android:text="@string/table11"
android:textColor="#000000"
android:textSize="14sp" />
<TextView
android:id="@+id/text_saldo"
android:layout_width="20dp"
android:layout_height="30dp"
android:layout_weight="0.7"
android:background="@drawable/table_border"
android:gravity="center"
android:text="@string/table12"
android:textColor="#000000"
android:textSize="14sp" />
<TextView
android:id="@+id/text_pagar"
android:layout_width="20dp"
android:layout_height="30dp"
android:layout_weight="0.7"
android:background="@drawable/table_border"
android:gravity="center"
android:text="@string/table13"
android:textColor="#000000"
android:textSize="14sp" />
<TextView
android:id="@+id/text_cobrar"
android:layout_width="20dp"
android:layout_height="30dp"
android:layout_weight="0.7"
android:background="@drawable/table_border"
android:gravity="center"
android:text="@string/table14"
android:textColor="#000000"
android:textSize="14sp" />
</LinearLayout>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_refresh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/headerTable">
<ListView
android:id="@+id/listViewTrefi"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</android.support.v4.widget.SwipeRefreshLayout>
<View
android:id="@+id/divider2"
style="@style/dividerMain"
android:layout_width="match_parent"
android:layout_height="4dp"
android:layout_below="@+id/swipe_refresh"
android:alpha="0.5" />
<android.support.design.widget.TabLayout
android:id="@+id/sliding_tabs"
style="@style/SlidingTabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/divider2"
app:tabMode="fixed"
app:tabTextAppearance="@style/MyTabLayoutTextAppearance" />
<wales.dahoum.mipyme.NonSwipeableViewPager
android:id="@+id/viewPager"
android:layout_below="@id/sliding_tabs"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
我设法找到了在我的gradle.properties文件中添加/Users/davidgeismar/code/davidgeismar/react-app/timeo/android/app/build/intermediates/res/merged/release/drawable-xhdpi/node_modules_reactnavigation_src_views_assets_backicon.png: error: uncompiled PNG file passed as argument. Must be compiled first into .flat file..
error: failed parsing overlays.
FAILURE: Build failed with an exception.
的解决方法
这导致了另一个错误:
android.enableAapt2=false
我通过在项目存储库列表中添加到我的顶级build.gradle文件google中来解决该问题:
Execution failed for task ':app:lintVitalRelease'.
> Could not resolve all files for configuration ':app:lintClassPath'.
> Could not find com.android.tools.lint:lint-gradle:26.1.3.
之后!惊人!我的构建终于成功了,并在app文件夹下生成了一个build文件夹,在outputs / apk / release下有一个不错的app-release.apk文件。
我通过手机(HONOR 10在ANDROID 8.1.0上运行)通过电子邮件发送了此文件,并启用了“安装未知应用”:
之后,当我尝试在手机上启动应用程序安装时,总是会得到:“未安装应用程序”
您知道如何解决此问题并最终能够在手机上安装我的apk吗?
如果您需要查看的话,这里是我的react项目的android文件夹中的link。
------编辑----- 我已经设法在运行ANDROID文件夹中的命令react-native run-android --variant = release的USB连接的设备上安装了APK。但是仍然没有办法将其下载到我的手机上然后再安装。使用React native实际上可行吗?