> For the complete documentation index, see [llms.txt](https://docs.talsec.app/freerasp/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.talsec.app/freerasp/freerasp/integration/flutter/troubleshooting.md).

# Troubleshooting

See the most frequent issues occurring during integration.

The most frequent issues occurring during integration:

#### General

<details>

<summary>Upgrading from freeRASP 4.x.x or earlier</summary>

Please remove the old `TalsecRuntime.xcframework` and integration script from your project:

1. Go to your project's `ios` folder
2. Open `Runner.xcworkspace` in Xcode
3. On the top bar, select `Product` -> `Scheme` -> `Edit Scheme...`
4. On the left side, select `Build` -> `Pre-actions`
5. Find the integration script and click the trash icon on the right side to remove it
6. Open the `.flutter-plugins` (in the root folder of the app), and get the address where the freerasp is installed.
7. Go to the given folder, and remove the `freerasp` folder file.
8. Delete the `.symlinks` folder from the project.
9. Run `pub get`
10. Run `pod install` to test it

**Otherwise, no further setup is required.**

**Note: You need Xcode 15 to be able to build the application.**

</details>

#### Android Devices

<details>

<summary>Could not find ...  dependency issue</summary>

**Solution:** Add dependency manually (see [issue](https://github.com/talsec/Free-RASP-Flutter/issues/1)).

In `android` -> `app` -> `build.gradle` add these dependencies

```gradle
dependencies {
    ...
    // Talsec dependency
    implementation 'com.aheaditec.talsec.security:TalsecSecurity-Community-Flutter:<version>'
}
```

</details>

<details>

<summary>Code throws java.lang.UnsatisfiedLinkError: No implementation found for... exception when building APK</summary>

**Solution:** The Android version of freeRASP is already obfuscated.

Add this rule to your `proguard-rules.pro` file:

```gradle
-keepclasseswithmembernames,includedescriptorclasses class * {
native ;
}
```

</details>

<details>

<summary>APK size increased a lot after implementation of freeRASP</summary>

**Solution:** In `android/app/src/AndroidManifest.xml` add attribute into application tag:

```xml
android:extractNativeLibs="true"
```

The updated tag might look like this:

```xml
<application
    android:label="freerasp_example"
    android:icon="@mipmap/ic_launcher"
    android:extractNativeLibs="true">
```

[As pointed out in this issue comment](https://github.com/talsec/Free-RASP-Flutter/issues/100#issuecomment-1904193110), setting `extractNativeLibs` to `true` removes native libraries from the final APK, resulting in a smaller size. Conversely, setting it to `false` keeps the libraries uncompressed and stored within the APK, which increases the APK size but might allow the application to load faster because the libraries are loaded directly at runtime.

</details>

#### iOS Devices

<details>

<summary>Unable to build release for simulator in Xcode (errors)</summary>

**Solution:** The simulator does **not** support the release build of Flutter - more about it [here](https://flutter.dev/docs/testing/build-modes#release). Use a real device in order to build the app in release mode.

</details>

<details>

<summary>MissingPluginException occurs on hot restart</summary>

**Solution:** Technical limitation of Flutter - more about it [here](https://stackoverflow.com/questions/50459272/missingpluginexception-while-using-plugin-for-flutter). Use command `flutter run` to launch the app (i.e. run the app from scratch).

</details>

For more general issues or questions, visit [FAQ](/freerasp/freerasp/faq.md) page. You can also check out the [Issues section of our GitHub repository](https://github.com/talsec/Free-RASP-Flutter/issues?q=is%3Aissue), where you can report issues and view existing reports.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.talsec.app/freerasp/freerasp/integration/flutter/troubleshooting.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
