Comments (6)
The obfuscation mapping that is generated when ATAK is built in release mode must be fed as an input into the plugin's build so that the plugin properly refers to the obfuscated API.
For local builds, this will require placing the mapping file in a specific location relative to your plugin project. Please see https://github.com/deptofdefense/AndroidTacticalAssaultKit-CIV/blob/master/atak-gradle-takdev/src/main/groovy/com/atakmap/gradle/takdev/TakDevPlugin.groovy#L123 to get insight into the locations where the mapping file is being searched for.
from androidtacticalassaultkit-civ.
Thanks for the insight. I moved my plugin code into the ATAK source folders so the paths line up but I still get the same error above. I have rebuilt and reinstalled ATAK and the plugin.
from androidtacticalassaultkit-civ.
@tareed I would suggest building the atak-gradle-takdev
plugin locally and adding some debugging statements to determine if the mapping file is properly being discovered. Assuming everything is good, the proguard mapping from the ATAK release build should get copied to <plugin-root>/app/build/proguard-<variant>-release-mapping.txt
. It should be ~8MB in size. The path to this file gets set on the system property, atak.proguard.mapping
, which should be getting applied via the plugin's proguard configuration (see https://github.com/deptofdefense/AndroidTacticalAssaultKit-CIV/blob/master/plugin-examples/plugintemplate/app/proguard-gradle.txt#L10).
Unfortunately, without seeing the project or how the development environment is configured, I can't provide much guidance outside of suggesting that it sounds like the proguard mapping from the ATAK release build is not properly being consumed by the plugin release build.
from androidtacticalassaultkit-civ.
While I look at your other suggestions here is how the dev environment is configured. I am building this on Ubuntu 18.04, I have the latest 4.2.0 baseline pulled and I have moved my plugins folder inside of the root atak source folder (see screenshot). This way the paths lines up with what you suggested.
from androidtacticalassaultkit-civ.
Solved it. Here is what I had to do to solve this.
- The plugin is two folders deep in the atak source folder (i.e. plugins/wxdata)
- Build atak and assembleCivRelease this gets you main.jar and the right mapping.txt
- In the root of the atak source folder make sure the keystore is called android_keystore
The missing piece for me was the keystore, once I created a softlink to my real keystore it worked just fine. The atak-gradle-taskdev plugin is checking the location of main.jar, mapping.txt and android_keystore to determine what type of build this is going to be (online or offline). To do what I needed I needed it to be an online build.
from androidtacticalassaultkit-civ.
@tareed We'll look to resolve this in the atak-gradle-takdev
plugin in one of the upcoming releases.
from androidtacticalassaultkit-civ.
Related Issues (20)
- ATAK still locking the map item after the item is being deleted HOT 1
- End-User License Agreement(EULA) intermittently take a few seconds to display
- Lock on Self not behaving correctly after entered a coordinate in "GoTo" HOT 2
- Can I build an Atak on Windows HOT 4
- Intermittent Delay in Location reporting rate in contact info HOT 2
- Step 1: Unpack GDAL - not in a gzip format HOT 5
- Data sync cannot select item HOT 5
- Callsign truncated
- Gradle can't find stlsoft HOT 1
- Extention of takproto definitions under Apache or non-copyleft licence HOT 1
- prebuild.sh gets conan export-pkg: error: argument -f/--format: expected one argument HOT 1
- New Updates of ATAK HOT 13
- DP tool caused app freeze HOT 4
- ANR caused by classic deadlock HOT 2
- Plugin Warning HOT 1
- Add host header / sni support
- No way to override heading when using external GPS via Bluetooth HOT 1
- Compilation problem related to deprated versions HOT 1
- BUG: legacyFindMountRootDirs process.waitFor results in startup deadlock/hang HOT 2
- ATAK VIdeo Player Doesn't handle Handle a Live LL-HLS Stream Correctly
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from androidtacticalassaultkit-civ.