将url_launcher
添加到我的pubspec
后,我再也无法在Android中启动我的应用程序了。在开始时,我在Logcat中获得以下输出:Didn't find class "$prefix.$projectname.MainActivity" on path: DexPathList[[zip file "/data/app/...
,其中$prefix.$projectname
不是正确的包,因为我将其更改为$prefix.$name
,其中name
是其他字符串。< / p>
我再次删除url_launcher
后,我的应用程序就会正常运行。
当仅向我的pubspec.yaml
文件添加 url_launcher
时,我的应用程序无法启动 Android 。我甚至不必在我的代码中使用它。
经过进一步调查后,我在Android的 Logcat 中找到了一条日志消息:Didn't find class "$prefix.$projectname.MainActivity" on path: DexPathList[[zip file "/data/app/...
。这就是错误的起源!
我在创建项目之后更改了我的包名,因为Flutter仍然是错误的:)在创建向导中我键入了$prefix.$name
(这些是只是变量; prefix
总是相同的,另外两个也是相同的;作为参考,请查看错误消息,我也将其插入。在我的第一次构建时,包名称变为{ {1}}然后。我找到了解决方法:更改Android $packagename.$projectname
目录中的代码目录名称,并更改src
中的applicationId
名称。
现在我的包名是build.gradle
。我的 Android Studio 项目名称/文件夹仍为$prefix.$name
。在projectname
中没有url_launcher
,一切正常,但在添加目录时会创建如下目录:
没有pubspec
:
url_launcher
添加project/build/app:
-generated
-intermediates
-outputs
-tmp
其他目录(url_launcher
除外)突然出现在app
目录中:
build
project/build/app:
-generated
-intermediates
-outputs
-tmp
project/build/url_launcher:
-generated
-intermediates
-outputs
-tmp
目录中的url_launcher
目录与build
目录具有相同的子目录。我只是提到这一点,因为我不确定这是否是不受欢迎的行为。
答案 0 :(得分:0)
当我发现through this answer时,我还必须更改package
文件中<manifest
标记的AndroidManifest.xml
属性,我还需要更改{{1}在package
本身。
我想知道在不使用MainActivity.java
时它是如何工作的。我的猜测是url_launcher
文件夹中的工作设置仍然很明显,即在已构建的build
和.class
文件中。